What Are Timing Attacks?
Timing attacks extract information by measuring how long operations take. Variations in processing time can reveal secret data, verify usernames, or correlate anonymous traffic.
Classic Example
// Vulnerable password comparison if (input == password) return true; // "abc" vs "xyz" - fast failure (first char wrong) // "pas" vs "xyz" - slow failure (matched 3 chars) // Time difference reveals how many chars matched!
Attack Categories
Cryptographic
Extract keys from encryption timing
CryptoUsername Enumeration
Detect valid users by response time
AuthNetwork Correlation
Link anonymous traffic via timing
AnonymityCache Timing
CPU cache reveals memory access
HardwareFamous Timing Attacks
Spectre/MeltdownCPU speculation leaks via timing
BEAST/CRIMETLS compression timing attacks
RSA TimingExtract private keys from operation timing
Mitigations
- Constant-time comparison functions
- Add random delays (with caution)
- Use constant-time crypto libraries
- Rate limiting reduces precision
- Return generic error messages
- Hardware security modules for crypto