Authentication and Authorization Security
Authentication and authorization form two distinct but tightly coupled security controls that determine who can access a system and what those parties are permitted to do once access is granted. Failures in either domain consistently appear among the most exploited vulnerability classes in production applications, with broken access control ranked first in the OWASP Top Ten (2021) and broken authentication ranked second. This reference covers the structural definitions, implementation mechanics, regulatory drivers, classification frameworks, and known tensions that characterize this sector of application security.
- Definition and scope
- Core mechanics or structure
- Causal relationships or drivers
- Classification boundaries
- Tradeoffs and tensions
- Common misconceptions
- Checklist or steps
- Reference table or matrix
Definition and scope
Authentication is the process of verifying that an entity — user, device, or service — is who or what it claims to be. Authorization is the subsequent process of determining what resources and operations that verified entity is permitted to access or perform. The two processes are sequential and non-interchangeable: authorization presupposes a completed authentication step, but authentication alone grants no access rights.
NIST Special Publication 800-63B defines authentication at the federal level as "the process of establishing confidence in the identity of users or information systems." The corresponding authorization model is addressed in NIST SP 800-207, which establishes Zero Trust Architecture principles and frames authorization as a continuous policy-enforcement process rather than a one-time gate.
Scope within application security encompasses web applications, APIs, mobile clients, microservices, and identity federation pipelines. The attack surface extends across login endpoints, token issuance and validation flows, session lifecycle management, privilege escalation paths, and inter-service trust relationships.
Core mechanics or structure
Authentication factors are classified into three categories by NIST SP 800-63B:
- Something you know — passwords, PINs, security questions
- Something you have — hardware tokens, TOTP authenticator apps, smart cards
- Something you are — biometric characteristics such as fingerprint or facial recognition
Multi-factor authentication (MFA) requires at least two distinct categories. Single-factor systems relying solely on passwords are classified as Authenticator Assurance Level 1 (AAL1); systems requiring a hardware-bound authenticator meet AAL3.
Authorization models govern access decisions after identity is established:
- Discretionary Access Control (DAC) — resource owners assign permissions at their discretion
- Mandatory Access Control (MAC) — a central authority enforces policy based on classifications (common in government and defense systems)
- Role-Based Access Control (RBAC) — permissions attach to roles, not individuals (NIST RBAC standard, ANSI/INCITS 359-2004)
- Attribute-Based Access Control (ABAC) — policies evaluate combinations of subject, resource, environment, and action attributes
- Relationship-Based Access Control (ReBAC) — authorization depends on graph-traversal relationships between entities, as used in systems like Google Zanzibar
Token-based authorization, central to API and microservice architectures, is covered in depth under OAuth and OpenID Connect security and JSON Web Token security, both of which address the specific vulnerability classes introduced by bearer token issuance and validation.
Causal relationships or drivers
Authentication failures most commonly trace to four root causes: credential theft via phishing, credential stuffing using breached password databases, session token interception, and implementation errors in authentication logic. The Verizon Data Breach Investigations Report 2023 found that stolen credentials were involved in 49% of breaches analyzed.
Authorization failures arise from a distinct but overlapping set of causes: insecure direct object references (IDOR), missing function-level access controls, privilege escalation through parameter tampering, and broken object-level authorization (BOLA) in REST APIs. BOLA is identified by OWASP API Security Top 10 (2023) as the number-one API vulnerability.
Regulatory pressure compounds technical drivers. The FTC Safeguards Rule (16 CFR Part 314) requires financial institutions to implement multi-factor authentication for any individual accessing customer information. HIPAA Security Rule (45 CFR § 164.312) mandates unique user identification and automatic logoff for covered entities. PCI DSS v4.0 Requirement 8 specifies MFA for all access into the cardholder data environment, as detailed under PCI DSS application security requirements.
Classification boundaries
The distinction between authentication and authorization errors is operationally significant because they map to different remediation paths and different OWASP categories:
| Error Type | OWASP Category (2021) | Typical Symptom |
|---|---|---|
| Broken Authentication | A07:2021 | Account takeover, credential stuffing success |
| Broken Access Control | A01:2021 | IDOR, privilege escalation, BOLA |
| Security Misconfiguration | A05:2021 | Default credentials, open admin interfaces |
| Cryptographic Failures | A02:2021 | Weak token signing, cleartext credential storage |
Within authentication, a further boundary separates identity proofing (verifying that a claimed identity corresponds to a real entity) from authentication (verifying that the presenter controls a previously established credential). NIST SP 800-63A governs identity proofing separately from SP 800-63B's authentication coverage.
Session management sits at the intersection of both domains and is addressed as its own control category under session management security. A valid session token functions simultaneously as an authentication artifact and an authorization scope boundary.
Tradeoffs and tensions
Security versus usability is the most persistent tension. Stricter authentication controls — hardware tokens, step-up authentication, short session timeouts — reduce the attack surface but increase abandonment rates in consumer-facing applications. Organizations operating under HIPAA or PCI DSS face regulatory floors that constrain how far usability optimization can proceed.
Centralization versus federation creates architectural tension. Centralized identity providers (IdPs) simplify audit and revocation but introduce single points of failure. Federated identity systems using SAML 2.0 or OpenID Connect distribute trust but expand the attack surface across multiple assertion issuers.
Least privilege versus operational friction affects authorization design. Granular ABAC policies enforce least privilege more precisely than RBAC but require substantially more policy maintenance overhead. Organizations frequently drift toward over-permissioned RBAC roles to reduce operational friction — a pattern that NIST SP 800-207 identifies as incompatible with Zero Trust principles.
Token lifetime versus revocation is a specific tension in stateless JWT-based authorization. Long-lived tokens reduce backend load but create windows where compromised tokens cannot be revoked without introducing stateful blocklists. This tradeoff is examined in detail under JSON Web Token security.
Common misconceptions
Misconception: MFA is always sufficient protection.
MFA significantly raises the cost of account compromise but does not eliminate it. Real-time phishing proxies (adversary-in-the-middle attacks using tools such as Evilginx) can intercept OTP codes and session cookies simultaneously. NIST SP 800-63B AAL2 acknowledges this attack class and designates phishing-resistant authenticators (FIDO2/WebAuthn) as the control that addresses it.
Misconception: Authorization is enforced by the UI.
Front-end controls that hide buttons or menu items are not authorization mechanisms. Authorization must be enforced server-side on every request. Front-end suppression is purely a usability feature and is bypassed trivially by direct API calls.
Misconception: HTTPS renders authentication tokens safe from interception.
TLS protects tokens in transit but does not protect against token theft through XSS, insecure storage in localStorage, or logging of Authorization headers. The OWASP Cheat Sheet Series — Session Management distinguishes transport-layer from application-layer token security.
Misconception: Role-based access control is a Zero Trust control.
RBAC assigns permissions based on role membership at provisioning time. Zero Trust requires continuous, contextual authorization at request time — a fundamentally different model. RBAC can exist within a Zero Trust architecture but does not constitute one.
Checklist or steps
The following sequence reflects the structural components present in a complete authentication and authorization implementation, as derived from NIST SP 800-63B, OWASP ASVS v4.0, and the OWASP Application Security Verification Standard:
- Identity proofing — Establish the binding between a claimed identity and a real-world entity at enrollment; classify at IAL1, IAL2, or IAL3 per NIST SP 800-63A.
- Credential binding — Associate one or more authenticators with the verified identity; document authenticator type and assurance level.
- Authentication protocol selection — Select a protocol appropriate to the required AAL; FIDO2/WebAuthn for AAL3, TOTP or push-based for AAL2, password-only only where AAL1 is acceptable.
- Session token issuance — Issue a cryptographically random session identifier or a signed token; avoid embedding mutable authorization data in client-side tokens without server-side validation.
- Authorization policy definition — Define access control policies (RBAC, ABAC, or ReBAC) that attach to authenticated sessions; ensure policies are stored and enforced server-side.
- Enforcement point placement — Apply authorization checks at the API gateway layer and again at the resource handler; never rely on a single enforcement layer.
- Privilege escalation controls — Require re-authentication or step-up MFA before actions that exceed the current session's authorization scope, consistent with broken access control risks mitigation practice.
- Session lifecycle management — Enforce absolute and idle session timeouts; invalidate server-side session state on logout; rotate session identifiers after privilege change.
- Token revocation — Maintain revocation lists or short token lifetimes for stateless tokens; implement introspection endpoints for OAuth access tokens per RFC 7662.
- Audit logging — Record authentication events, authorization decisions, and access failures with sufficient context for forensic reconstruction; protect log integrity.
Reference table or matrix
Authentication Assurance Levels vs. Authorization Models
| Dimension | AAL1 | AAL2 | AAL3 |
|---|---|---|---|
| Authenticator requirement | Single factor (password) | MFA with at least one possession factor | Hardware-bound, phishing-resistant (FIDO2/WebAuthn) |
| Channel binding | Not required | Not required | Required |
| Typical authorization pairing | DAC or RBAC | RBAC or ABAC | ABAC or ReBAC with continuous verification |
| Regulatory floor examples | Low-risk internal tools | HIPAA covered systems, FTC Safeguards | Federal government, classified systems (MAC) |
| Phishing resistance | No | Partial | Yes |
Access Control Model Comparison
| Model | Policy owner | Granularity | Maintenance cost | Zero Trust compatible |
|---|---|---|---|---|
| DAC | Resource owner | Low | Low | No |
| MAC | Central authority | High | High | Partial |
| RBAC | Administrator | Medium | Medium | Partial |
| ABAC | Policy administrator | Very high | Very high | Yes |
| ReBAC | Graph policy owner | High | Medium-high | Yes |
References
- NIST SP 800-63B — Digital Identity Guidelines: Authentication and Lifecycle Management
- NIST SP 800-63A — Digital Identity Guidelines: Enrollment and Identity Proofing
- NIST SP 800-207 — Zero Trust Architecture
- NIST Role-Based Access Control — ANSI/INCITS 359-2004 Project
- OWASP Top Ten 2021
- OWASP API Security Top 10 (2023)
- OWASP Application Security Verification Standard (ASVS) v4.0
- OWASP Cheat Sheet Series — Session Management
- FTC Safeguards Rule — 16 CFR Part 314
- HIPAA Security Rule — 45 CFR § 164.312
- Verizon Data Breach Investigations Report 2023
- RFC 7662 — OAuth 2.0 Token Introspection (IETF)