Multi-Factor Authentication

Factor Type Example
Something you know Password, PIN
Something you have Phone, hardware token, smart card
Something you are Fingerprint, face recognition

HOTP (HMAC-Based One-Time Password)

One-Time Password generated using a secret key + counter, based on HMAC:

  1. Server and user share a secret key K
  2. Each time a code is requested:
  3. User enters code during login
  4. Server verifies code using same secret + counter

// so server also need to track counter


TOTP (Time-Based One-Time Password)

HOTP variant, where counter = current time / step, usually 30 seconds.