[Intro. to Computer Security Course Note] Ch 3

Ch3. User Authentication


Definition

  • Thee process of verifying an identity claimed by or for a system entity
  • Consist of two steps
    • Identification step: presenting an identifier to the security system
    • Verification step: presenting or generating authentication info. that corroborates(鞏固) the binding between the entity and their identifier

Electronic User Authentication Model

Cornerstone

  • Credential
    • Paper credential
      e.g., 護照那些、身分證
    • E-authentication credential: an object or data structure
      • Authoritatively binds an identity (via an identifier) and (optionally) additional attributes
      • To at least one token (or authenticator) possessed and controlled by a subscriber
  • Token
    • Something that the Claimant possess and controls is used to authenticate the Claimant’s identity
    • Typically a cryptographic module or password
    • Also named as authenticator
  • Authentication establishes confidence that the Claimant has possession of an authenticator(s) bound to the credential, and (optional) the attribute values of the subscriber

Role of each Entity

Tokens (Authenticators)

Something the individual know, possess, is, does

Digital Identity Model

Password-based Authentication

The User ID

  • Determines the user’s privileges
  • Used in discretionary access control

Attacks / Countermeasures

  • Offline dictionary attack
    • Obtain the system’s password file (password stored in hash value)
    • Search for valid passwords with hash values of commonly used passwords
    • Countermeasure:
      prevent unauthorized access to the password file
      intrusion detection measures to identify a compromise
  • Specific account attack
    • 一直 try 密碼 try 到對為止,或是被 ban
  • Popular password attack
    • Try popular passwords against a wide range of user IDs
    • Countermeasure:
      inhibiting the selection by users of common passwords
      scanning the IP addr. of auth requests and client cookies for submission patterns
  • Password guessing against single user
    • Gain knowledge about the account owner and password policies and use them th guess the password
    • Countermeasure:
      enforcement of password policies that make passwords difficult to guess
  • Workstation hijacking
    • Wait until a logged-in workstation is unattended
    • Countermeasure:
      automatically logging the workstation out after a period of inactivity
  • Exploiting user mistakes
    • 把密碼寫在桌上、把密碼傳來傳去(Email, SNS)、用預設密碼
  • Exploiting multiple password uses
    • Different network devices share the same or similar password for a given user
    • Countermeasure:
      JUST DON’T
  • Password sniffing / phishing
    • Passwords are transmitted without ecryption (http, ftp)
    • Phishing web pages
    • Countermeasure:
      encryption, inputting passwords with trusted devices and environments

Use of Hashed Passwords

A widely used password security technique

  • Salt
    • Prevent duplicate passwords from being visible in the password file (同樣的密碼會有不同的 hash code)
    • Greatly increases the difficulty of offline dictionary attacks
    • Nearly impossible to find out wether a person has used the same password on multiple systems
  • 2 threats
    • Password guessing on the machine
    • Password guessing on another machine

Old Implementation of UNIX Password Scheme

  • Password: up to 8 characters
    • Serving as the key input to DES
  • Modified DES encryption
  • Repeated for a total of 25 encryption (slow hash function)
  • Has been regarded as inadequate (key length is too short)

Improved Implementation

  • Recommended hash function is based on MD5
    • Salt: up to 48-bit
    • Password length unlimited
    • 128-bit hash value -> increase overhead for cracking
    • Slowdown: an inner loop with 1000 iterations
  • Bcrypt: developed for OpenBSD based on the Blowfish symmetric block cipher
    • Most secure version of UNIX hash / salt scheme
    • 128-bit salt, 192-bit hash value -> increase overhead for cracking
    • Configurable cost variable (number of iterations) -> depends on how important the password is

Password Cracking of User-chosen Passwords

  • Traditional appoaches
    • Dictionary attack
      • Countermeasure:
        slow hash function
    • Password crackers exploit that fact that people choose easily guessable passwords
    • Rainbow table attacks
      • Pre-compute tables with hash values for all salts
      • Countermeasure:
        a sufficiently large salt value and large hash length
      • Combination of brute-force and dictionary

Modern Approaches for Password Cracking

  • Complex password policy

Major Countermeasures

  • Password file access control
    • 2 mechanisms
      • Access control: makes the password file availble only to privileged users
      • Shadow password file (store the hash code separately)
    • Vulnerabilities
      • Weakness in the OS that allows access to the file
      • Accident with permissions making it readable
      • Users with same password on other systems
      • Weakness in physical security may provide access to backup media
      • Sniffing network traffic
  • Password selection strategies
    • User education
    • Computer-generated passwords
    • Reactive password checking
      • System preiodically run its own password cracker to find guessable passwords
    • Complex password policy or proactive password checker
  • Proactive password checking
    • Rule enforcement
      • But, attacker can follow the guideline to design cracker
    • Password cracker
      • Compile a large dictionary of bad passwords not to use
      • But, it is space-consuming and time-consuming
      • Can we use a hash function to address the issue ?
        • Yes, can only reduce time
    • Bloom filter: a space-efficient probabilistic data structure
      • Used to test whether an element is a member of a set
      • A bit array of m bits, and k different hash functions
      • But, false positive matches are possible
      • Space adventage: do not store the data items
    • Applied to the password checking
      • Used to build a table based on dictionary
      • Check desired password against this table

Token-based Authentication

Card Type Defining Feature Example
Embossed Raised characters only, on front Old credit card
Magnetic stripe Magnetic bar on back, characters on front Band card
Electronic memory Electronic memory inside ATM, credit cards
Smart Contact / Contactless Electroni memory and processor inside
Electronic contacts exposed on surface
Radio antenna embedded inside
SIM card, Biometric ID card

Memory Cards

  • Functions
    • Can store but do not process data (都說是 memory 了)
    • Can include an internal electronic memory
  • Most common: the bank card with a magnetic stripe on the back
  • Usage
    • Alone for physical access (e.g., hotel room)
    • Combined with a password or PIN: provides significantly greater security
  • Drawbacks
    • A special reader is required
    • Token loss
    • User dissatisfaction

Smart Tokens

  • Categorized along four dimensions
    • Physical characteristics
      • Include an embedded microprocessor
    • User interface
    • Electronic interface
      • Required by a smart card or other to communicate with a compatible reader / writer
      • Contact: direct contact between a card reader and a conductive contact plate on the card
      • Contactless: both the reader and the card have an antenna
    • Authentication protocol
      • Static
        • User authenticates himself or herself to the token
        • Token authenticates the user to the computer
      • Dynamic password generator
        • Token generates a unique password periodically (e.g., every minute)
        • Initialized and synchronized for the token and the computer
      • Challenge-response
        • Computer generates a challenge
        • Token generates a response to the challenge

Most Important: Smart Cards

  • Contains an entire microprocessor
    • Including processor, memorym I/O ports
  • 3 types of memory
    • Read-only memory (ROM)
    • Electronic erasable programmable ROM (EEPROM)
    • Random access memory (RAM)

Biometric Authentication

  • Based on unique physical characteristics
    • Static: fingerprints, facial characteristics
    • Dynamic: 聲音有的沒的
  • Relies on pattern recongnition technologies

Remote user Authentication

More security threats
General solution: challenge-response protocols

Security Issues for User Authentication

  • Client attacks: masquerade as a legitimate user
    • Countermeasure: strong passwords and limited attempts
  • Host attacks: steals the user file where passwords, token passcodes, or biometric templates are stored
    • Countermeasure: strong access control
  • Eavesdropping(竊聽)
    • Countermeasure: multifactor authentication and anomaly detection
  • Relay: repeats a previously captured user response
    • Countermeasure: a random number in challenge-response protocols
  • Trojan horse: installation of rogue cilent or capture device
    • Countermeasure: authentication of client or capture device within trusted security perimeter
  • Denial of service: lockout by multiple failed authentications
    • Countermeasure: multifactor with token