What, Why, and How
By: Mitchell Mebane
Alright, let's break it down.
The process of validating that a user is who they claim to be.
(Sorry little guy,
but it actually is.)
(Not to be confused with authorization, which is deciding whether a particular user is allowed to perform a particular action.)
A piece of data taken into account when authenticating a user.
Generally divided into three classes, things you
(Username isn't an auth factor!)
From the Latin multi, meaning more than one.
(OK, so you probably knew that one.)
When it comes to auth factors, we tend to try and pick from different categories.
Let's look at some common auth factors.
Everybody's favorite, but it really kind of sucks. Passwords are short strings of text - can be extended to longer "pass phrases".
Category: Something You Know
Good:
Bad:
Identifying via unique bodily features. This commonly includes fingerprints, voice prints, facial recognition, and retinal/iris scans.
Category: Something You Are
Good:
Bad:
It varies by type, but typically works like this
Fingerprints are the most common kind of biometric, so let's take a closer look:
Cookie containing an tamper-resistant identifier. Often set after a different auth factor is validated, and used in place of that in the future. Longer-lived than a session cookie.
Category: Something You Have
Good:
Bad:
A collection of information about your device. Goal is to get enough detail to uniquely identify a device, to a high degree of confidence.
Category: Something You... Have?
Good:
Bad:
Two main ways to store these:
Physical location of the user. Could be part of a device fingerprint, or a standalone auth factor.
Category: Something You... Are?
Good:
Bad:
Single-use code, typically 6 or 8 numbers/letters, which the client and server agree on through some out-of-band mechanism.
Category: Something You Have
Two main uses:
Two main types:
General pattern:
This proves that whoever has access to the user account also has access to the comm channel.
Examples:
Not much to it:
This proves that whoever has access to the user account also has access to that user's comm channel.
HMAC-based One-Time Password
Setup:
Usage:
This proves that the user/device that generated the code is the same user/device who received the key during setup.
Risks:
Time-Based OTP, extension of HOTP.
Risks:
Symantec VIP exposes TOTP as a service
E.g., Smart Card or NFC
Category: Something You Have
Wide range of implementations.
Heartbeat pattern is unique.
Category: Something You Are
Heart rate monitor can read your heartbeat and use it like a fingerprint.
Specification for building simple, secure hardware tokens.
Category: Something You Have