Modern authentication rests on three moves: make passwords long instead of complex (12+ characters, screened against breach lists, never force-rotated), add phishing-resistant multi-factor authentication (a FIDO2/WebAuthn hardware key or passkey beats SMS every time), and hash stored passwords with Argon2id or bcrypt plus a unique salt. That combination — reflecting NIST SP 800-63B guidance, which dropped mandatory complexity rules and scheduled rotation back in 2017 — stops the two attacks that break most accounts: credential stuffing from reused passwords, and phishing of one-time codes.
That is the summary an AI Overview gives you. What it can't show you is how the pieces connect at login time — where a breach check, a hash verification, an MFA challenge, and a session token each sit in the request flow, and which step blocks which attack. So below is an animated map of a hardened login, a side-by-side of every MFA method with a clear "use this one" verdict, and copy-ready checklists for both password storage and modern token auth.
Password Security Fundamentals
Modern Password Policy Best Practices
Traditional password policies (complexity requirements, forced rotation) are being replaced by more effective approaches based on NIST guidelines.
📚 Password Policy Best Practices: Building effective password policies.
Modern recommendations:
| Old Approach | Modern Approach |
|---|---|
| 8 characters minimum | 12-16 characters minimum |
| Complexity rules (uppercase, symbols) | Check against breached password lists |
| 90-day rotation | Change only when compromised |
| Security questions | Multi-factor authentication |
Password Length Recommendations
Longer passwords are exponentially harder to crack than complex short ones.
📚 Password Length Recommendations 2025: Current guidance on password length.
Minimum recommendations by use case:
- General accounts: 12 characters
- Sensitive systems: 16 characters
- Administrative accounts: 20+ characters or passphrases
- Service accounts: 24+ random characters
Password Managers
Password managers solve the human problem of password reuse by generating and storing unique passwords for every account.
📚 Are Password Managers Safe?: Security analysis of password managers.
Benefits:
- Unique passwords per account
- Strong random password generation
- Encrypted storage
- Cross-device synchronization
- Phishing resistance (won't autofill on fake sites)
📚 Password Managers vs Memorizing: Why managers win.
Online Password Generators
📚 Are Online Password Generators Safe?: Evaluating generator security.
Safe generator characteristics:
- Client-side generation (no server transmission)
- Cryptographically secure random numbers
- Open source and auditable
- No logging or analytics on generated passwords
Multi-Factor Authentication (MFA)
MFA adds security layers beyond passwords:
| Factor Type | Examples | Strength |
|---|---|---|
| Knowledge | Password, PIN | Weakest alone |
| Possession | Phone, hardware key | Strong |
| Inherence | Fingerprint, face | Strong |
MFA hierarchy (strongest to weakest):
- Hardware security keys (FIDO2/WebAuthn)
- Authenticator apps (TOTP)
- Push notifications
- SMS codes (vulnerable to SIM swapping)
Not all "second factors" are equal. The table below ranks the common methods by the attack that actually defeats each one, so you can pick deliberately instead of enabling whatever a vendor defaults to.
| MFA method | Phishing-resistant? | Main weakness | Best for |
|---|---|---|---|
| FIDO2 / WebAuthn key or passkey | Yes | Cost / enrollment friction | Admins, high-value accounts, anyone who can adopt it |
| Authenticator app (TOTP) | No (code can be relayed) | Real-time phishing, device loss | Good default for most user accounts |
| Push notification (number match) | Partial | MFA-fatigue / push bombing | Consumer apps where UX matters more |
| Push (simple approve) | No | Prompt bombing until user taps yes | Avoid — upgrade to number matching |
| SMS / email OTP | No | SIM swap, interception | Last resort only, better than nothing |
| Which should I use? | — | — | Hardware key or passkey for privileged access; TOTP as the universal baseline; never rely on SMS alone. |
Modern Authentication Protocols
OAuth 2.0 and OpenID Connect
OAuth 2.0 handles authorization (what can you access), while OIDC adds authentication (who are you).
📚 OAuth2/OIDC Implementation Guide: Building secure OAuth implementations.
Common flows:
- Authorization Code: Web applications
- PKCE: Mobile and single-page apps
- Client Credentials: Service-to-service
Security considerations:
- Always use HTTPS
- Validate redirect URIs strictly
- Use state parameter to prevent CSRF
- Store tokens securely
- Implement proper token expiration
JWT Security
JSON Web Tokens (JWTs) are widely used for authentication but often implemented insecurely.
📚 JWT Security Best Practices: Securing JWT implementations.
Common JWT vulnerabilities:
- Algorithm confusion attacks (none algorithm)
- Weak signing keys
- Missing expiration validation
- Sensitive data in payload
- Token not revocable
Best practices:
- Use RS256 or ES256 (not HS256 with weak keys)
- Set short expiration times
- Don't store sensitive data in payload
- Implement token revocation
- Validate all claims
Mutual TLS (mTLS)
mTLS provides two-way certificate authentication for service-to-service communication.
📚 mTLS Authentication Guide: Implementing mutual TLS.
Use cases:
- Zero trust architectures
- Service mesh authentication
- API security
- IoT device authentication
Authentication Architecture
Session Management
Session best practices:
- Generate cryptographically random session IDs
- Regenerate session ID after login
- Set appropriate cookie flags (Secure, HttpOnly, SameSite)
- Implement session timeout
- Provide logout functionality
Single Sign-On (SSO)
SSO reduces password fatigue and improves security:
- Users remember one strong password
- Centralized access control
- Faster deprovisioning
- Better audit logging
Protocols:
- SAML 2.0 (enterprise)
- OIDC (modern applications)
- WS-Federation (Microsoft environments)
Tools and Resources
| Tool | Purpose |
|---|---|
| Password Generator | Generate secure random passwords |
| Password Strength Checker | Evaluate password strength |
Implementation Checklist
For Password Systems
- Minimum 12 character length
- Check against breached password lists
- Require MFA for sensitive access
- Hash with Argon2 or bcrypt
- Rate limit login attempts
- Lock accounts after failures
- Secure password reset flow
For Modern Auth
- Use HTTPS everywhere
- Implement PKCE for public clients
- Validate all tokens and claims
- Use short-lived access tokens
- Implement token revocation
- Log authentication events
- Monitor for anomalies
Conclusion
Effective authentication combines strong password practices with modern protocols and multi-factor authentication:
- Passwords: Long passphrases, unique per site, stored in password managers
- MFA: Hardware keys or authenticator apps for sensitive accounts
- Modern protocols: OAuth2/OIDC for web apps, mTLS for services
- Defense in depth: Rate limiting, monitoring, and anomaly detection
The goal is making authentication both secure and usable. Poor user experience leads to workarounds that undermine security. Balance security requirements with usability to achieve strong, practical authentication.