Comprehensive Notes: User Authentication (Slides, ENGLISH)
Overview and Learning Outcomes
- Topic: User authentication in computer and information security
- Learning outcomes (from slide set):
- Discuss the four general means of authenticating a user’s identity
- Explain the mechanism by which hashed passwords are used for authentication
- Understand the use of Bloom filters in password management
- Present an overview of token-based user authentication
- Discuss issues and approaches for remote user authentication
What is User Authentication?
- Fundamental security building block for access control and user accountability
- Definition: the process of verifying an identity claimed by or for a system entity
- Two steps in identity verification:
- Identification: specify an identifier
- Verification: bind the entity (person) and the identifier
- Distinct from message authentication (focuses on integrity of exchanged messages during communication)
NIST Model for Electronic User Authentication (EUA)
- EUA: the process of establishing confidence in a user identity electronically presented
- NIST SP 800-63-2 model summary:
- User applies to Registration Authority (RA) and becomes a subscriber of a Credential Service Provider (CSP)
- RA: a trusted entity
- CSP exchanges with the subscriber
- Credential: a data structure binding an identity to a token processed by the subscriber
- Key roles:
- Claimant: the party to be authenticated
- Verifier: the party verifying
- Verifier passes an assertion about the subscriber to the relaying party (Relying Party, RP)
NIST Architectural Model (Illustrative)
- RA issues/validates credentials; CSP issues/maintains credentials for subscribers
- Credential binds identity to a token processed by the subscriber
- Roles:
- Claimant vs. Verifier
- Verifier communicates assertions to the Relaying/ Relying Party (RP)
- Note: Diagram referenced (Figure 3.1) shows flow from claimant to RA/CSP and RP with assertions
Means of User Authentication
- Four primary means, based on what the user possesses or knows or is/does:
- Something you know (knowledge-based): e.g., password, PIN
- Something you possess (possession-based): e.g., key, token, smartcard
- Something you are (static biometrics): e.g., fingerprint, retina
- Something you do (dynamic biometrics): e.g., voice, signing behavior
- Can be used alone or in combination (multi-factor authentication)
- All methods have strengths and weaknesses and may require combining factors to increase assurance
Risk and Assurance in User Authentication
- Assurance level: degree of certainty that a presented credential refers to the claimant’s identity
- Levels of assurance:
- Level 1: little confidence (e.g., online forum)
- Level 2: some confidence (professional organization)
- Level 3: high confidence (patent office applicants)
- Level 4: very high confidence (employees accessing restricted/sensitive services)
- Potential impact categories for authentication errors (per Table 3.2):
- Inconvenience, distress, or damage to standing/reputation
- Financial loss or organizational liability
- Harm to organizational programs or interests
- Unauthorized release of sensitive information
- Personal safety concerns
- Civil or criminal violations
- Each assurance level associates with different impact profiles across the above categories
Password-Based Authentication
- Password authentication: widely used; user provides login and password
- System behavior:
- Compares password with the stored credential for the given login
- Authenticates identity and determines user privileges
- Used in Discretionary Access Control (DAC)
- Common criteria for a good password: long, memorable, but readable through user practices (noted as a practical tension)
Password Vulnerabilities
- Threats include:
- Offline dictionary attacks
- Specific account attacks (targeted at a user, e.g., username=john)
- Popular password attacks (targeted at many IDs)
- Password guessing with prior knowledge about the user
- Workstation hijacking
- Exploiting user mistakes (e.g., reuse, weak password hygiene)
- Exploiting multiple password use across accounts
- Electronic monitoring of password-related activity
- Illustrative note: brute-force scale (example figures in slides show wide search spaces for short passwords)
Countermeasures for Password Vulnerabilities
- Protect password files from unauthorized access
- Intrusion detection measures
- Account lockout mechanisms to deter guessing
- Policies against common passwords and encouragement of hard-to-guess passwords
- Training and enforcement of password policies
- Automatic workstation logout
- Use of encrypted network links (to protect transmission)
Use of Hashed Passwords and Salts
- Password storage typically involves hashing with a salt
- Hashing pipeline (illustrative visualization):
- Password file stores outputs of crypt(3) with a salt and user id
- During verification: crypt(password, salt) is compared to stored value
- Salt purpose and effects:
- Prevents identical passwords from appearing as duplicates in the password file
- Increases difficulty of offline dictionary attacks
- Makes it harder to determine whether the same password is used across multiple systems
UNIX Password Hashing (Historical and Modern Variants)
- Original scheme (DES-based):
- 8-character password -> 56-bit key
- 12-bit salt modifies DES into a one-way hash function
- Output translated to 11-character sequence
- Considered insecure today (e.g., modern speed of brute-force attack, e.g., 50 million tests in ~80 minutes on a supercomputer)
- Modern improvements:
- MD5-based hashing with salt (e.g., 48-bit salt)
- Unlimited password length; hashed with 1000 iterations; 128-bit hash output
- OpenBSD adoption of Blowfish-based bcrypt: 128-bit salt producing a 192-bit hash
Password Cracking Techniques
- Dictionary attacks: try words and obvious variants from a large dictionary against the hash
- Rainbow table attacks: large precomputed table of possible passwords and corresponding hashes
- For each password, precompute hash values for all salts
- Example: extremely large tables; a 1.4 GB table could crack 99.9% of alphanumeric Windows passwords in about 13.8 seconds
- Not feasible when larger salt values are used
Password Choices and Concerns
- Users often select short or easy-to-guess passwords
- Empirical finding: some studies show a material fraction of users choosing passwords of length ≤ 3
- Systems may enforce minimum lengths and complexity requirements
- Guessable passwords and attack feasibility
- Attackers use lists of likely passwords; a study of encrypted passwords showed ~1/4 could be guessed with 14,000 encrypted samples
- Rough feasibility: about 1 hour on fastest systems to compute all reasonable variants for a given password candidate
Case Study: Passwords Among 25,000 Students
- Findings: over 10% recovered after 10^10 guesses
- Graph insight (percent guessed vs number of guesses): illustrates the security risk with large, high-entropy password spaces
Password File Access Control and Shadow Passwords
- Methods to block offline guessing attacks:
- Restrict access to encrypted passwords to privileged users
- Use shadow password schemes (e.g., su-only access)
- Remaining vulnerabilities:
- Operating system bugs
- Incorrect permissions that make files readable
- Users reusing passwords on other systems
- Access from unprotected backups
- Password sniffing in unprotected network traffic
Using Better Passwords: Education, Generation, and Checks
- Goals: eliminate guessable passwords while remaining memorable
- Techniques:
- User education on good practices
- Computer-generated passwords
- Reactive password checking (periodic checks)
- Proactive password checking (at the time of selection)
Proactive Password Checking (Rules and Models)
- Rule enforcement plus user advice: e.g., 8+ characters, mix of upper, lower, numeric, punctuation
- Password crackers: use lists of bad passwords; time/space tradeoffs
- Markov Model: can generate guessable passwords; systems should reject passwords that could be generated by a model
- Bloom Filter: used to build a dictionary-based check using hashes; check desired password against a Bloom filter table
Bloom Filters in Password Management
- Concept: probabilistic data structure to test whether an element is a member of a set
- Used to build a dictionary-based check to quickly reject candidates that are known-bad
- Helps in proactive password checking by filtering likely-guessable candidates
Token-Based Authentication
- Definition: an object that a user possesses to authenticate
- Examples:
- Memory card with magnetic stripe
- Smartcard
- Tokens can function as standalone physical tokens or as part of a broader authentication protocol
Memory Cards vs. Smartcards
- Memory card characteristics:
- Store data but do not process it
- Examples: magnetic stripe cards (bank cards), electronic memory cards
- Can be used for physical access or with a PIN
- Drawbacks: requires a reader, risk of token loss, user dissatisfaction for computer access use cases
- Smartcard characteristics:
- Has its own processor, memory (ROM, EEPROM, RAM) and I/O
- Executes a protocol to authenticate with a reader/computer
- Static vs dynamic authentication:
- Static: similar to memory cards
- Dynamic: one-time-generated codes (generated every minute), entered by user or electronically
- Challenge-response: computer issues a random number; smart card returns a hash-based response
- USB dongles also exist for authentication
Electronic Identity Cards (eID)
- Important application of smart cards for national identity
- Functions as a national ID card (e.g., driver’s license equivalent) with stronger proof of identity
- German example card: contains personal data, document number, Card Access Number (six-digit random), MRZ (machine readable zone) as password
- Uses include ePass (government use), eID (general use), eSign (may contain private key and certificate)
User Authentication with eID (Workflow)
- Steps (illustrative sequence):
1) User requests a service
2) Service request is received by host/server
3) Redirect to eID for authentication
4) User is prompted for PIN at eID
5) Authentication protocol exchange occurs between eID and server
6) User enters PIN
7) Authentication protocol exchange continues
8) Authentication result is redirected back to the service
9) Authentication result is forwarded to the host/application
10) Service is granted or denied based on the result - Notes: This describes an integrated flow between user, eID device, and service provider/server
Biometric Authentication
- Definition: authenticate based on a person’s physical or behavioral characteristics
- Examples of modalities:
- Facial features
- Fingerprint
- Hand geometry
- Retina (vasculature), iris patterns
- Signature dynamics
- Voice
- Key point: biometrics provide a form of identification (one-to-many) and verification (one-to-one)
- Slide highlights: biometric data are compared against stored templates
Operation and Accuracy of Biometric Systems
- Verification vs Identification:
- Verification: user provides biometric data that is compared to their stored template
- Identification: biometric data is matched against a database to identify a person
- System outputs a matching score: a numerical similarity measure between input and stored template
- Common concerns:
- Sensor noise
- Detection inaccuracy
- False match (Type I error) vs false non-match (Type II error)
- Trade-offs between security and usability
Remote User Authentication (Over a Network)
- Why it's more complex: presence of eavesdropping and replay attacks
- General approach: challenge-response protocol
- User sends identity
- Host responds with a random number r
- User computes f(r, h(P)) and sends back to host
- Host computes its own f(r, h(P)) and compares to user’s response
- If matches, user is authenticated
- Purpose: protect against eavesdropping and other network-based attacks
Protocol Example: Password Verification (for context of token/biometrics as well)
- Client side computes: f(r, h(P)) where:
- P is the password
- h() is a hash function on the password
- r is a random challenge from the host
- Server side stores: r, h(P) for verification
- Pseudocode-like flow:
- Client sends: (r, h(P), f())
- Server verifies: if f(r, h(P)) equals the expected value, authentication succeeds
- Generalization: similar approach applies to token and biometric verification with appropriate credential material
Authentication Security Issues and Countermeasures
- Client attacks: attempting to authenticate without access to the host (e.g., guessing passwords)
- Countermeasures: strong passwords; limit login attempts
- Host attacks: attackers compromise the host where credentials are stored
- Countermeasures: hashing; protection of password databases
- Eavesdropping: observing or recording password-related data (including keylogging)
- Countermeasures: user diligence; multi-factor authentication; revocation of compromised passwords
- Replay: attacker repeats a previously captured response
- Countermeasures: challenge-response; one-time passcodes
- Trojan horse and DoS risks:
- Trojan horse: authentic app/device impersonation; countermeasure: client authentication within a trusted environment
- DoS: attacker floods authentication service; countermeasure: multifactor authentication with a token
Practical Application: Remote Bank Access Scenario
- Scenario: customer accesses bank accounts from home over the Internet
- Customer device: personal computer/laptop
- IT infrastructure permits remote transactions; authentication may rely on PIN or iris biometric for high-value actions
- Components involved:
- Bank home banking web interface
- Local security measures (SecureCam, browser, security server walls, etc.)
- Iris-based enrollment and verification via iris image and code
- Bank intranet and branch office infrastructure
- Enrollment and verification workflow (high-level):
- Enrollment: customer enrolls iris image and CIN; iris code is stored in a database
- Verification: iris code is captured, matched against database, and access is granted or denied
- Data protection: iris image data are encoded, encrypted, and transmitted securely; matching performed against iris database
Summary and Takeaways
- Authentication types include: password-based, token-based, biometric, and remote authentication mechanisms
- Remote authentication introduces additional threats (eavesdropping, replay) and commonly uses challenge-response protocols
- Password security relies on hashing with salts to thwart offline attacks; UNIX-era DES-based schemes evolved to MD5-based and bcrypt-based schemes
- Password cracking techniques (dictionary, rainbow tables) illustrate the importance of salting, longer/password complexity, and salt size
- Proactive (at selection) and reactive (periodic) password checks, often aided by Bloom filters, help reduce guessable passwords
- Tokens (memory cards, smartcards) provide possession-based authentication; eID cards illustrate national ID use with PINs and cryptographic protocols
- Biometrics adds another factor, with verification/identification and accuracy concerns (false matches/non-matches), and is often used in conjunction with other factors
- Practical example: remote banking demonstrates integration of multiple authentication factors (e.g., PIN + iris) within an IT ecosystem