Introduction to Authentication
Authentication is the process of verifying the identity of a user, system, or entity. It answers the question: "Are you who you claim to be?" This is distinct from identification (claiming an identity) and authorization (granting permissions after authentication).
The three key concepts:
• Identification: Claiming an identity (username)
• Authentication: Proving that identity (password)
• Authorization: Determining what you can do (permissions)
Authentication Factors
Authentication methods are categorized into three factors, based on what the user possesses:
Factor 1: Something You Know
Knowledge-based authentication uses information that the user knows:
- Passwords: Secret words or phrases
- PINs: Personal Identification Numbers
- Security Questions: Pre-arranged questions with secret answers
- Patterns: Graphical passwords or unlock patterns
Factor 2: Something You Have
Possession-based authentication uses physical items the user possesses:
- Smart Cards: Integrated circuit cards with stored data
- Hardware Tokens: Physical devices generating one-time codes
- Mobile Devices: Phones receiving verification codes
- USB Keys: Physical keys like YubiKey
Factor 3: Something You Are
Biometric authentication uses physical or behavioral characteristics:
- Static Biometrics: Fingerprint, iris, face, hand geometry
- Dynamic Biometrics: Voice, handwriting, keystroke dynamics
| Factor | Type | Examples | Pros | Cons |
|---|---|---|---|---|
| Something You Know | Knowledge | Password, PIN | Easy to implement | Can be forgotten, stolen |
| Something You Have | Possession | Token, Smart Card | Harder to duplicate | Can be lost, stolen |
| Something You Are | Inherence | Fingerprint, Face | Cannot be lost/forgotten | Expensive, privacy concerns |
Password Security
Passwords are the most common authentication method. Proper password storage and handling is critical for security.
Password Storage
- Passwords should never be stored in plaintext
- Use cryptographic hash functions to store password hashes
- Salting: Add random data (salt) before hashing to prevent rainbow table attacks
- Unix historically used 25xDES (25 rounds of DES variant) for password hashing
- Modern systems use bcrypt, scrypt, or Argon2
Password Best Practices:
• Use at least 12 characters
• Mix uppercase, lowercase, numbers, symbols
• Don't use dictionary words or personal info
• Use a unique password for each account
• Consider using a password manager
Password Policies
- Minimum Length: Require at least 8-12 characters
- Complexity: Require mix of character types
- Expiration: Change passwords periodically (though this is debated)
- History: Prevent reuse of recent passwords
- Account Lockout: Lock after failed attempts
Password Attacks
Attackers use various methods to crack or steal passwords:
Dictionary Attacks
Uses a list of common words, names, and passwords to guess credentials. Typical dictionaries contain ~1 million entries.
- At 10 guesses/second: complete in ~28 hours (14 hours average)
- Effective against weak passwords
Brute Force Attacks
Tries all possible character combinations. Time depends on password length and complexity.
Rainbow Table Attacks
Uses pre-computed hash tables to reverse cryptographic hashes. Defeated by salting.
Phishing
Deceptive emails or websites trick users into revealing passwords.
Shoulder Surfing
Observing someone typing their password.
Password Strength Calculator
Enter a password to see estimated crack time
Exam Tip: Random 6-character passwords with mixed case, digits, and punctuation create 689 billion combinations, taking ~1,093 years to crack at 10 guesses/second!
Multi-Factor Authentication (MFA)
MFA combines two or more authentication factors for stronger security. Even if one factor is compromised, attackers still cannot access the account.
Types of MFA
- Two-Factor (2FA): Combines two different factors
- Three-Factor: Combines all three factors
- Multi-Layer: Multiple layers of the same factor
Common MFA Implementations
- SMS Codes: One-time codes sent to phone (less secure)
- Authenticator Apps: TOTP (Time-based One-Time Password)
- Hardware Tokens: Physical devices generating codes
- Push Notifications: Approval requests to registered devices
- Biometric + PIN: Combining factors
MFA Flow
Login
Password
2FA Code
Access
Biometric Authentication
Biometrics use unique physical or behavioral characteristics for identification.
Types of Biometrics
Static Biometrics (Physical Characteristics)
- Fingerprint: Most common, high accuracy
- Facial Recognition: Widely used in smartphones
- Iris/Retina: Very high accuracy, used in high-security areas
- Hand Geometry: Used in physical access control
- Vein Patterns: Unique vein structure in hands
Dynamic Biometrics (Behavioral Characteristics)
- Voice Recognition: Analyzing speech patterns
- Keystroke Dynamics: Typing patterns and rhythm
- Signature Dynamics: Writing speed and pressure
- Gait Analysis: Walking pattern recognition
Biometric Performance Metrics
| Metric | Description |
|---|---|
| False Acceptance Rate (FAR) | Incorrectly accepting unauthorized users |
| False Rejection Rate (FRR) | Incorrectly rejecting authorized users |
| Crossover Error Rate (CER) | Point where FAR equals FRR - lower is better |