CS526 Topic 7: User Authentication 1
Information Security
CS 526
Topic 7: User Authentication
CS526 Topic 7: User Authentication 2
Readings for This Lecture
• Wikipedia
• Password
• Password strength
• Salt_(cryptography)
• Password cracking
• Trusted path
• One time password
Three A’s of Information Security
• Security is about differentiating among authorized
accesses and unauthorized accesses
– Confidentiality, Integrity, Availability all require this
• Authentication
– Figures out who is accessing
• Access control
– Ensure only authorized access are allowed
• Auditing
– Record what is happening, to identify attacks later and recover
CS526 Topic 7: User Authentication 3
Authentication & Access Control
according to Wikipedia
• Authentication is the act of establishing or confirming
something (or someone) as authentic, that is, that claims
made by or about the subject are true. This might involve
confirming the identity of a person, tracing the origins of an
artifact, ensuring that a product is what its packaging and
labeling claims to be, or assuring that a computer program
is a trusted one.
• Access control is a system which enables an authority to
control access to areas and resources in a given physical
facility or computer-based information system.
CS526 Topic 7: User Authentication 4
CS526 Topic 7: User Authentication 5
User Authentication
• Using a method to validate users who attempt to
access a computer system or resources, to
ensure they are authorized
• Types of user authentication
– Something you know
• E.g., user account names and passwords
– Something you have
• Smart cards or other security tokens
– Something you are
• Biometrics
Variants of Passwords
• Password
• Passphrase
– a sequence of words or other text used for similar
purpose as password
• Passcode
• Personal identification number (PIN)
CS526 Topic 7: User Authentication 6
CS526 Topic 7: User Authentication 7
Scenarios Requiring User
Authentication
• Scenarios
– Logging into a local computer
– Logging into a computer remotely
– Logging into a network
– Access web sites
• Vulnerabilities can exist at client side,
server side, or communications
channel.
Password
Client
Server
CS526 Topic 7: User Authentication 8
Threats to Passwords
• Eavesdropping (insecure channel between client and
server)
• Login spoofing (human errors), shoulder surfing,
keyloggers
• Offline dictionary attacks
• Social engineering (human errors)
– e.g., pretexting: creating and using an invented scenario (the
pretext) to persuade a target to release information or perform an
action and is usually done over the telephone
• Online guessing (weak passwords)
Guessing Attacks: Two Factors for
Password Strength
• The average number of guesses the attacker must
make to find the correct password
– determined by how unpredictable the password is, including
how long the password is, what set of symbols it is drawn
from, and how it is created.
• The ease with which an attacker can check the
validity of a guessed password
– determined by how the password is stored, how the
checking is done, and any limitation on trying passwords
CS526 Topic 7: User Authentication 9
Password Entropy
• The entropy bits of a password, i.e., the information
entropy of a password, measured in bits, is
– The base-2 logarithm of the number of guesses needed to find
the password with certainty
– A password with, say, 42 bits of strength calculated in this way
would be as strong as a string of 42 bits chosen randomly.
– Adding one bit of entropy to a password doubles the number of
guesses required.
• Aka. Guess entropy
CS526 Topic 7: User Authentication 10
Estimating Password Entropy
• People are notoriously remiss at achieving sufficient entropy
to produce satisfactory passwords.
• NIST suggests the following scheme to estimate the entropy
of human-generated passwords:
– the entropy of the first character is four bits;
– the entropy of the next seven characters are two bits per character;
– the ninth through the twentieth character has 1.5 bits of entropy per
character;
– characters 21 and above have one bit of entropy per character.
• This would imply that an eight-character human-selected
password has about 18 bits of entropy.
CS526 Topic 7: User Authentication 11
Towards Better Measurement of
Password Entropy
• NIST suggestion fails to consider usage of different category
of characters:
– Lower-case letters, digits, upper-case letters, special symbols
• Orders also matter:
– “Password123!” should have different entropy from “ao3swPd!2s1r”
• State of art is to use variable-order markov chains to model
probability of different strings as passwords
– “A Study of Probabilistic Password Models” by Ma, Yang, Luo, Li in
IEEE SSP 2014.
• Fundamental challenge: there are different attack strategies
out there, which try passwords with different ordering
CS526 Topic 7: User Authentication 12
Example of Weak Passwords (from
Wikipedia)
• Default passwords (as supplied by the system vendor and
meant to be changed at installation time): password, default,
admin, guest, etc.
• Dictionary words: chameleon, RedSox, sandbags, bunnyhop!,
IntenseCrabtree, etc.
• Words with numbers appended: password1, deer2000,
john1234, etc.,
• Words with simple obfuscation: p@ssw0rd, l33th4x0r,
g0ldf1sh, etc.
• Doubled words: crabcrab, stopstop, treetree, passpass, etc.,
can be easily tested automatically.
CS526 Topic 7: User Authentication 13
Example of Weak Passwords (from
Wikipedia)
• Common sequences from a keyboard row: qwerty, 12345,
asdfgh, fred, etc.
• Numeric sequences based on well known numbers such as 911,
314159, or 27182, etc.,
• Identifiers: jsmith123, 1/1/1970, 555–1234, "your username", etc.,
• Anything personally related to an individual: license plate number,
Social Security number, current or past telephone number,
student ID, address, birthday, sports team, relative's or pet's
names/nicknames/birthdays, etc.,
– can easily be tested automatically after a simple investigation of person's
details.
CS526 Topic 7: User Authentication 14
CS526 Topic 7: User Authentication 15
Mechanisms to Avoid Weak Passwords
• Allow long passphrases, forbid short passwords
• Randomly generate passwords where appropriate
– Though probably inappropriate for most scenarios
• Give user suggestions/guidelines in choosing passwords
– e.g., think of a sentence and select letters from it, “It’s 12 noon
and I am hungry” => “I’S12&IAH”
– Using both letter, numbers, and special characters
• Check the quality of user-selected passwords
– Use a number of rules of thumb; run dictionary attack tools
– Evaluate strength of a password and explain the weaknesses
• This is an open research question
– Any suggestion?
Balancing Password Entropy &
Usability Concerns
• Forcing randomly generated passwords is often bad.
– A user needs to remember passwords for tens, if not hundreds of
accounts
– High entropy passwords are difficult to remember
• The “Weakest Link” security principle applies here
– Often times, guessing passwords is not the weakest link
– One can use various ways to reduce adversary’s abilities to test
password guesses
– When a user cannot remember the password for an account, there must
be a way to allow a user to retrieve it.
• The recovering method either has low security, or costs lots of money
• It creates a weaker link.
CS526 Topic 7: User Authentication 16
Another Relevant Security
Principle
• Psychological acceptability:
– It is essential that the human interface be designed for ease of
use, so that users routinely and automatically apply the
protection mechanisms correctly. Also, to the extent that the
user's mental image of his protection goals matches the
mechanisms he must use, mistakes will be minimized. If he must
translate his image of his protection needs into a radically
different specification language, he will make errors.
– Taken from Saltzer & Schroeder: “The Protection of
Information in Computer Systems”, which identifies 8 security
principles, including the “open design” principle
CS526 Topic 7: User Authentication 17
Usability matters.
CS526 Topic 7: User Authentication 18
Storing Passwords (UNIX Case Study)
• Old UNIX
– The file /etc/passwd stores H(password) together with
each user’s login name, user id, home directory, login
shell, etc.
• H is essentially a one-way hash function
– The file /etc/passwd must be world readable
– Brute force attacks possible even if H is one-way
• how to most effectively brute-force when trying to obtain
password of any account on a system with many
accounts?
CS526 Topic 7: User Authentication 19
Password Salts
• More modern UNIX
– Divide /etc/password into two files: /etc/password; and
/etc/shadow (readable only by root)
• Store [r, H(password,r)] rather than H(password) in
/etc/shadow
– r is randomly chosen for each password
– r is public, similar to Initial Vector in CBC & CTR modes
• Benefits
– dictionary attacks much more difficult
• cost of attacking a single account remains the same
– if two users happen to choose the same password, it doesn’t
immediately show
CS526 Topic 7: User Authentication 20
Mechanisms to Defend Against
Dictionary and Guessing Attacks
• Protect stored passwords (use both cryptography
& access control)
– An instance of the “Defense in Depth” principle:
• Use multiple independent method of defense, so that
even if one layer fails, security is still not compromised
• Consider, e.g., password dataset compromises
• Disable accounts with multiple failed attempts
• Require extra authentication mechanism (e.g.,
phone, other email account, etc.)
CS526 Topic 7: User Authentication 21
Mechanisms to Defend Against Login
Spoofing: Trusted Path
• Login Spoofing Attacks:
– write a program showing a login window on screen and record the
passwords
– put su in current directory
• Defense: Trusted Path
– Mechanism that provides confidence that the user is communicating
with the real intended server
• attackers can't intercept or modify whatever information is being
communicated.
• defends attacks such as fake login programs
– Example: Ctrl+Alt+Del for log in on Windows
• Causes a non-maskable interrupt that can only be intercepted by the
operating system, guaranteeing that the login window cannot be spoofed
Spoofing & Defenses on the Web
• Phishing attacks
– attempting to acquire sensitive information such as usernames, passwords
and credit card details by masquerading as a trustworthy entity in electronic
communication.
• Website forgery
– Set up fake websites that look like e-commerce sites and trick users into
visiting the sites and entering sensitive info
• Defense methods
– Browser filtering of known phishing sites
– Cryptographic authentication of servers (will talk about in future)
– User-configured authentication of servers
• To ensure that the site is the one the human user has in mind
• E.g., site key, pre-selected picture/phrases
CS526 Topic 7: User Authentication 22
KeyLogging
• Threats from insecure client side
• Keystroke logging (keylogging) is the action of tracking (or logging) the
keys struck on a keyboard, typically in a covert manner so that the person
using the keyboard is unaware that their actions are being monitored.
• Software -based
– key-stroke events, grab web forms, analyze HTTP packets
• Hardware-based
– Connector, wireless sniffers, acoustic based
• Defenses:
– Anti-spyware, network monitors, on-screen soft keyboard, automatic form filler,
etc.
• In general difficult to deal with once on the system
CS526 Topic 7: User Authentication 23
CS526 Topic 7: User Authentication 24
Using Passwords Over Insecure
Channels
• One-time passwords
– Each password is used only once
– Defend against passive adversaries who eavesdrop and later attempt
to impersonate
• Challenge response
– Send a response related to both the password and a challenge
• Zero knowledge proof of knowledge
– Prove knowledge of a secret value, without leaking any info about the
secret
CS526 Topic 7: User Authentication 25
How to do One-Time Password
• Shared lists of one-time passwords
• Time-synchronized OTP
– E.g., use MACK(t), where K is shared
secret, and t is current time
• Using a hash chain (Lamport)
– h(s), h(h(s), h(h(h(s))), …, h1000
(s)
– use these values as passwords in
reverse order
CS526 Topic 7: User Authentication 26
Lamport’s One-Time Password: Using
a Hash Chain
• One-time setup:
– A selects a value w, a hash function H(), and an
integer t, computes w0 = Ht
(w) and sends w0 to B
– B stores w0
• Protocol: to identify to B for the ith
time, 1  i  t
– A sends to B: A, i, wi = Ht-i
(w)
– B checks i = iA, H(wi) = wi-1
– if both holds, iA = iA+1
CS526 Topic 7: User Authentication 27
Challenge-Response Protocols
• Goal: one entity authenticates to other entity
proving the knowledge of a secret, ‘challenge’
• How to design this using the crypto tool we have
learned?
• Approach: Use time-variant parameters to prevent
replay, interleaving attacks, provide uniqueness and
timeliness
– e.g., nounce (used only once), timestamps
CS526 Topic 7: User Authentication 28
Challenge-response based on
symmetric-key crypto
• Unilateral authentication, timestamp-based
– A to B: MACK(tA, B)
• Unilateral authentication, nounce-based
– B to A: rB
– A to B: MACK(rB, B)
• Mutual authentication, nounce-based
– B to A: rB
– A to B: rA, MACK(rA, rB, B)
– B to A: MACK(rB, rA)
CS526 Topic 7: User Authentication 29
Other Defenses
• Alternatives to passwords
– graphical passwords
• Go beyond passwords
– security tokens
– biometrics
– 2-factor authentication
• Uses two independent authentication methods
• US Banks are required to use 2-factor authentication by end of 2006
for online banking
– Out of band authentication: uses a channel other than the internet
• E.g., phone
Open Problems
• Alternatives to passwords?
– The secret should be easy to remember, difficult to guess, and
easy to enter into the system.
• Better measure of password quality.
• Better ways to make user choose stronger passwords.
• Better ways to use other devices for authentication
• Effective 2-factored and/or out of band authentication for
the Web
• Phishing defense
CS526 Topic 7: User Authentication 30
CS526 Topic 7: User Authentication 31
Coming Attractions …
• Basics of OS Security and Access
Control

More Related Content

PDF
Authetication ppt
PDF
User Authentication: Passwords and Beyond
PPT
Lect5 authentication 5_dec_2012-1
PPTX
Infor_Security_Authentication_User .pptx
PPTX
Security and protection
PPSX
Usable Security: When Security Meets Usability
PPTX
05-Authentication.pptx Software Security
PPTX
computer security authorization Authentication.pptx
Authetication ppt
User Authentication: Passwords and Beyond
Lect5 authentication 5_dec_2012-1
Infor_Security_Authentication_User .pptx
Security and protection
Usable Security: When Security Meets Usability
05-Authentication.pptx Software Security
computer security authorization Authentication.pptx

Similar to 14_526_topic07uuuuuuuuuuuuuuuuuuuuuu.ppt (20)

DOCX
Chapter 6Authenticating PeopleChapter 6 OverviewThe th
PPTX
chap13_authentication_programming_basics_(1).pptx
PDF
Getting authentication right
PPT
Lecture 4
PPT
password.ppt
ODP
Passwords
PPTX
P@ssw0rds
PPTX
System Security
PPT
Topic 6 authentication2 12_dec_2012-1
PPTX
Improving Password Based Security
PDF
IRJET- Password Management Kit for Secure Authentication
PPTX
Introduction to Web Application Security Principles
ODP
All Your Password Are Belong To Us
PPT
Presentation2f_for_passwords_MS_Class.ppt
PPTX
TM112 Meeting12-Cryptography.pptx
PPT
20-security.ppt
PPT
Ch04 after modifications
PPTX
When will passwords die? Research challenges and opportunities in user authen...
PPTX
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Chapter 6Authenticating PeopleChapter 6 OverviewThe th
chap13_authentication_programming_basics_(1).pptx
Getting authentication right
Lecture 4
password.ppt
Passwords
P@ssw0rds
System Security
Topic 6 authentication2 12_dec_2012-1
Improving Password Based Security
IRJET- Password Management Kit for Secure Authentication
Introduction to Web Application Security Principles
All Your Password Are Belong To Us
Presentation2f_for_passwords_MS_Class.ppt
TM112 Meeting12-Cryptography.pptx
20-security.ppt
Ch04 after modifications
When will passwords die? Research challenges and opportunities in user authen...
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Ad

Recently uploaded (20)

PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
CloudStack 4.21: First Look Webinar slides
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
Configure Apache Mutual Authentication
PDF
Architecture types and enterprise applications.pdf
PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
DOCX
search engine optimization ppt fir known well about this
PPTX
TEXTILE technology diploma scope and career opportunities
PPTX
The various Industrial Revolutions .pptx
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PPTX
Benefits of Physical activity for teenagers.pptx
Credit Without Borders: AI and Financial Inclusion in Bangladesh
CloudStack 4.21: First Look Webinar slides
NewMind AI Weekly Chronicles – August ’25 Week III
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
Chapter 5: Probability Theory and Statistics
Getting started with AI Agents and Multi-Agent Systems
Configure Apache Mutual Authentication
Architecture types and enterprise applications.pdf
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
search engine optimization ppt fir known well about this
TEXTILE technology diploma scope and career opportunities
The various Industrial Revolutions .pptx
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
sbt 2.0: go big (Scala Days 2025 edition)
OpenACC and Open Hackathons Monthly Highlights July 2025
Microsoft Excel 365/2024 Beginner's training
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Final SEM Unit 1 for mit wpu at pune .pptx
Convolutional neural network based encoder-decoder for efficient real-time ob...
Benefits of Physical activity for teenagers.pptx
Ad

14_526_topic07uuuuuuuuuuuuuuuuuuuuuu.ppt

  • 1. CS526 Topic 7: User Authentication 1 Information Security CS 526 Topic 7: User Authentication
  • 2. CS526 Topic 7: User Authentication 2 Readings for This Lecture • Wikipedia • Password • Password strength • Salt_(cryptography) • Password cracking • Trusted path • One time password
  • 3. Three A’s of Information Security • Security is about differentiating among authorized accesses and unauthorized accesses – Confidentiality, Integrity, Availability all require this • Authentication – Figures out who is accessing • Access control – Ensure only authorized access are allowed • Auditing – Record what is happening, to identify attacks later and recover CS526 Topic 7: User Authentication 3
  • 4. Authentication & Access Control according to Wikipedia • Authentication is the act of establishing or confirming something (or someone) as authentic, that is, that claims made by or about the subject are true. This might involve confirming the identity of a person, tracing the origins of an artifact, ensuring that a product is what its packaging and labeling claims to be, or assuring that a computer program is a trusted one. • Access control is a system which enables an authority to control access to areas and resources in a given physical facility or computer-based information system. CS526 Topic 7: User Authentication 4
  • 5. CS526 Topic 7: User Authentication 5 User Authentication • Using a method to validate users who attempt to access a computer system or resources, to ensure they are authorized • Types of user authentication – Something you know • E.g., user account names and passwords – Something you have • Smart cards or other security tokens – Something you are • Biometrics
  • 6. Variants of Passwords • Password • Passphrase – a sequence of words or other text used for similar purpose as password • Passcode • Personal identification number (PIN) CS526 Topic 7: User Authentication 6
  • 7. CS526 Topic 7: User Authentication 7 Scenarios Requiring User Authentication • Scenarios – Logging into a local computer – Logging into a computer remotely – Logging into a network – Access web sites • Vulnerabilities can exist at client side, server side, or communications channel. Password Client Server
  • 8. CS526 Topic 7: User Authentication 8 Threats to Passwords • Eavesdropping (insecure channel between client and server) • Login spoofing (human errors), shoulder surfing, keyloggers • Offline dictionary attacks • Social engineering (human errors) – e.g., pretexting: creating and using an invented scenario (the pretext) to persuade a target to release information or perform an action and is usually done over the telephone • Online guessing (weak passwords)
  • 9. Guessing Attacks: Two Factors for Password Strength • The average number of guesses the attacker must make to find the correct password – determined by how unpredictable the password is, including how long the password is, what set of symbols it is drawn from, and how it is created. • The ease with which an attacker can check the validity of a guessed password – determined by how the password is stored, how the checking is done, and any limitation on trying passwords CS526 Topic 7: User Authentication 9
  • 10. Password Entropy • The entropy bits of a password, i.e., the information entropy of a password, measured in bits, is – The base-2 logarithm of the number of guesses needed to find the password with certainty – A password with, say, 42 bits of strength calculated in this way would be as strong as a string of 42 bits chosen randomly. – Adding one bit of entropy to a password doubles the number of guesses required. • Aka. Guess entropy CS526 Topic 7: User Authentication 10
  • 11. Estimating Password Entropy • People are notoriously remiss at achieving sufficient entropy to produce satisfactory passwords. • NIST suggests the following scheme to estimate the entropy of human-generated passwords: – the entropy of the first character is four bits; – the entropy of the next seven characters are two bits per character; – the ninth through the twentieth character has 1.5 bits of entropy per character; – characters 21 and above have one bit of entropy per character. • This would imply that an eight-character human-selected password has about 18 bits of entropy. CS526 Topic 7: User Authentication 11
  • 12. Towards Better Measurement of Password Entropy • NIST suggestion fails to consider usage of different category of characters: – Lower-case letters, digits, upper-case letters, special symbols • Orders also matter: – “Password123!” should have different entropy from “ao3swPd!2s1r” • State of art is to use variable-order markov chains to model probability of different strings as passwords – “A Study of Probabilistic Password Models” by Ma, Yang, Luo, Li in IEEE SSP 2014. • Fundamental challenge: there are different attack strategies out there, which try passwords with different ordering CS526 Topic 7: User Authentication 12
  • 13. Example of Weak Passwords (from Wikipedia) • Default passwords (as supplied by the system vendor and meant to be changed at installation time): password, default, admin, guest, etc. • Dictionary words: chameleon, RedSox, sandbags, bunnyhop!, IntenseCrabtree, etc. • Words with numbers appended: password1, deer2000, john1234, etc., • Words with simple obfuscation: p@ssw0rd, l33th4x0r, g0ldf1sh, etc. • Doubled words: crabcrab, stopstop, treetree, passpass, etc., can be easily tested automatically. CS526 Topic 7: User Authentication 13
  • 14. Example of Weak Passwords (from Wikipedia) • Common sequences from a keyboard row: qwerty, 12345, asdfgh, fred, etc. • Numeric sequences based on well known numbers such as 911, 314159, or 27182, etc., • Identifiers: jsmith123, 1/1/1970, 555–1234, "your username", etc., • Anything personally related to an individual: license plate number, Social Security number, current or past telephone number, student ID, address, birthday, sports team, relative's or pet's names/nicknames/birthdays, etc., – can easily be tested automatically after a simple investigation of person's details. CS526 Topic 7: User Authentication 14
  • 15. CS526 Topic 7: User Authentication 15 Mechanisms to Avoid Weak Passwords • Allow long passphrases, forbid short passwords • Randomly generate passwords where appropriate – Though probably inappropriate for most scenarios • Give user suggestions/guidelines in choosing passwords – e.g., think of a sentence and select letters from it, “It’s 12 noon and I am hungry” => “I’S12&IAH” – Using both letter, numbers, and special characters • Check the quality of user-selected passwords – Use a number of rules of thumb; run dictionary attack tools – Evaluate strength of a password and explain the weaknesses • This is an open research question – Any suggestion?
  • 16. Balancing Password Entropy & Usability Concerns • Forcing randomly generated passwords is often bad. – A user needs to remember passwords for tens, if not hundreds of accounts – High entropy passwords are difficult to remember • The “Weakest Link” security principle applies here – Often times, guessing passwords is not the weakest link – One can use various ways to reduce adversary’s abilities to test password guesses – When a user cannot remember the password for an account, there must be a way to allow a user to retrieve it. • The recovering method either has low security, or costs lots of money • It creates a weaker link. CS526 Topic 7: User Authentication 16
  • 17. Another Relevant Security Principle • Psychological acceptability: – It is essential that the human interface be designed for ease of use, so that users routinely and automatically apply the protection mechanisms correctly. Also, to the extent that the user's mental image of his protection goals matches the mechanisms he must use, mistakes will be minimized. If he must translate his image of his protection needs into a radically different specification language, he will make errors. – Taken from Saltzer & Schroeder: “The Protection of Information in Computer Systems”, which identifies 8 security principles, including the “open design” principle CS526 Topic 7: User Authentication 17 Usability matters.
  • 18. CS526 Topic 7: User Authentication 18 Storing Passwords (UNIX Case Study) • Old UNIX – The file /etc/passwd stores H(password) together with each user’s login name, user id, home directory, login shell, etc. • H is essentially a one-way hash function – The file /etc/passwd must be world readable – Brute force attacks possible even if H is one-way • how to most effectively brute-force when trying to obtain password of any account on a system with many accounts?
  • 19. CS526 Topic 7: User Authentication 19 Password Salts • More modern UNIX – Divide /etc/password into two files: /etc/password; and /etc/shadow (readable only by root) • Store [r, H(password,r)] rather than H(password) in /etc/shadow – r is randomly chosen for each password – r is public, similar to Initial Vector in CBC & CTR modes • Benefits – dictionary attacks much more difficult • cost of attacking a single account remains the same – if two users happen to choose the same password, it doesn’t immediately show
  • 20. CS526 Topic 7: User Authentication 20 Mechanisms to Defend Against Dictionary and Guessing Attacks • Protect stored passwords (use both cryptography & access control) – An instance of the “Defense in Depth” principle: • Use multiple independent method of defense, so that even if one layer fails, security is still not compromised • Consider, e.g., password dataset compromises • Disable accounts with multiple failed attempts • Require extra authentication mechanism (e.g., phone, other email account, etc.)
  • 21. CS526 Topic 7: User Authentication 21 Mechanisms to Defend Against Login Spoofing: Trusted Path • Login Spoofing Attacks: – write a program showing a login window on screen and record the passwords – put su in current directory • Defense: Trusted Path – Mechanism that provides confidence that the user is communicating with the real intended server • attackers can't intercept or modify whatever information is being communicated. • defends attacks such as fake login programs – Example: Ctrl+Alt+Del for log in on Windows • Causes a non-maskable interrupt that can only be intercepted by the operating system, guaranteeing that the login window cannot be spoofed
  • 22. Spoofing & Defenses on the Web • Phishing attacks – attempting to acquire sensitive information such as usernames, passwords and credit card details by masquerading as a trustworthy entity in electronic communication. • Website forgery – Set up fake websites that look like e-commerce sites and trick users into visiting the sites and entering sensitive info • Defense methods – Browser filtering of known phishing sites – Cryptographic authentication of servers (will talk about in future) – User-configured authentication of servers • To ensure that the site is the one the human user has in mind • E.g., site key, pre-selected picture/phrases CS526 Topic 7: User Authentication 22
  • 23. KeyLogging • Threats from insecure client side • Keystroke logging (keylogging) is the action of tracking (or logging) the keys struck on a keyboard, typically in a covert manner so that the person using the keyboard is unaware that their actions are being monitored. • Software -based – key-stroke events, grab web forms, analyze HTTP packets • Hardware-based – Connector, wireless sniffers, acoustic based • Defenses: – Anti-spyware, network monitors, on-screen soft keyboard, automatic form filler, etc. • In general difficult to deal with once on the system CS526 Topic 7: User Authentication 23
  • 24. CS526 Topic 7: User Authentication 24 Using Passwords Over Insecure Channels • One-time passwords – Each password is used only once – Defend against passive adversaries who eavesdrop and later attempt to impersonate • Challenge response – Send a response related to both the password and a challenge • Zero knowledge proof of knowledge – Prove knowledge of a secret value, without leaking any info about the secret
  • 25. CS526 Topic 7: User Authentication 25 How to do One-Time Password • Shared lists of one-time passwords • Time-synchronized OTP – E.g., use MACK(t), where K is shared secret, and t is current time • Using a hash chain (Lamport) – h(s), h(h(s), h(h(h(s))), …, h1000 (s) – use these values as passwords in reverse order
  • 26. CS526 Topic 7: User Authentication 26 Lamport’s One-Time Password: Using a Hash Chain • One-time setup: – A selects a value w, a hash function H(), and an integer t, computes w0 = Ht (w) and sends w0 to B – B stores w0 • Protocol: to identify to B for the ith time, 1  i  t – A sends to B: A, i, wi = Ht-i (w) – B checks i = iA, H(wi) = wi-1 – if both holds, iA = iA+1
  • 27. CS526 Topic 7: User Authentication 27 Challenge-Response Protocols • Goal: one entity authenticates to other entity proving the knowledge of a secret, ‘challenge’ • How to design this using the crypto tool we have learned? • Approach: Use time-variant parameters to prevent replay, interleaving attacks, provide uniqueness and timeliness – e.g., nounce (used only once), timestamps
  • 28. CS526 Topic 7: User Authentication 28 Challenge-response based on symmetric-key crypto • Unilateral authentication, timestamp-based – A to B: MACK(tA, B) • Unilateral authentication, nounce-based – B to A: rB – A to B: MACK(rB, B) • Mutual authentication, nounce-based – B to A: rB – A to B: rA, MACK(rA, rB, B) – B to A: MACK(rB, rA)
  • 29. CS526 Topic 7: User Authentication 29 Other Defenses • Alternatives to passwords – graphical passwords • Go beyond passwords – security tokens – biometrics – 2-factor authentication • Uses two independent authentication methods • US Banks are required to use 2-factor authentication by end of 2006 for online banking – Out of band authentication: uses a channel other than the internet • E.g., phone
  • 30. Open Problems • Alternatives to passwords? – The secret should be easy to remember, difficult to guess, and easy to enter into the system. • Better measure of password quality. • Better ways to make user choose stronger passwords. • Better ways to use other devices for authentication • Effective 2-factored and/or out of band authentication for the Web • Phishing defense CS526 Topic 7: User Authentication 30
  • 31. CS526 Topic 7: User Authentication 31 Coming Attractions … • Basics of OS Security and Access Control

Editor's Notes

  • #3: Shutting down to allow no access may be secure, but is not useful
  • #4: When you start your computer and log into your bank, several layers of authentication typically have occurred. How many are there?
  • #7: When you start your computer and log into your bank, several layers of authentication typically have occurred.
  • #14: Top 20 Passwords In 32 million RockYou.com passwords http://www.tomshardware.com/news/imperva-rockyou-most-common-passwords,9486.html The Top 500 Worst Passwords of All Time http://www.whatsmypass.com/the-top-500-worst-passwords-of-all-time
  • #16: Password expiration serves two purposes: if the time to crack a password is estimated to be 100 days, password expiration times fewer than 100 days may help ensure insufficient time for an attacker. if a password has been compromised, requiring it to be changed regularly should limit the access time for the attacker Some argue that password expirations have become obsolete: asking users to change passwords frequently encourages simple, weak passwords. if one has a truly strong password, there is little point in changing it since the existing password is already strong.
  • #21: Principle of the Trusted Path (Yee, Ka-Ping): The most important input and output channels are those used to manipulate authorities; if these channels can be spoofed or corrupted, the system has a security vulnerability. Hence the principle of the trusted path: the user must have an unspoofable and incorruptible channel to any entity trusted to manipulate authorities on the user's behalf. The authority-manipulating entity could be a number of different things, depending on the domain. In an operating system, the authority-manipulating entities would be the operating system and user interface components for handling authorities.