writeups

Authentication & Authorization – A Comprehensive Survey

Authentication and authorization are the two foundational pillars of computer‑security. Over four decades, a rich ecosystem of mechanisms—ranging from static passwords to decentralized, cryptographic identifiers—has evolved to address changing threat models, system architectures, and user‑experience expectations. This paper presents a chronological taxonomy, a formal comparative analysis, and a forward‑looking discussion of the most influential techniques. We contrast authentication (who you are) with authorization (what you may do), examine the interplay of session management, token‑based models, and policy‑driven access control, and evaluate each method against criteria such as security, scalability, usability, and operational complexity. Finally, we identify research gaps and emerging trends (Zero‑Trust, Decentralized Identity, Continuous Authentication) that will shape the next generation of secure systems.


Table of Contents

  1. Introduction & Scope
  2. Terminology & Conceptual Model
  3. Historical Evolution of Authentication
    1. Early Password‑Based Schemes
    2. Challenge‑Response & One‑Time Passwords
    3. Public‑Key / Certificate‑Based Authentication
    4. Federated Identity (Kerberos, SAML, OpenID)
    5. OAuth 2.0 Family & JSON‑Web Tokens
    6. Password‑less & Cryptographic Authenticators (FIDO, Passkeys, DIDs)
  4. Authorization Models & Mechanisms
    1. Discretionary & Mandatory Access Control (DAC/MAC)
    2. Role‑Based Access Control (RBAC)
    3. Attribute‑Based Access Control (ABAC) & Policy‑Based Access Control (PBAC)
    4. Token‑Scoped Authorization (OAuth scopes, JWT claims)
    5. Emerging Models (Zero‑Trust, Continuous, Context‑Aware)
  5. Comparative Matrix
  6. Security‑Usability Trade‑offs
  7. Design Recommendations & Deployment Patterns
  8. Future Directions & Open Research Questions
  9. Conclusion
  10. References

1. Introduction & Scope

Authentication (identifying a principal) and authorization (granting privileges) have traditionally been implemented as independent subsystems. Modern distributed architectures (micro‑services, mobile‑first, cloud‑native) blur those boundaries; security decisions now often hinge on tokens that encode both identity and policy.

This paper targets software architects, security engineers, and graduate‑level researchers who need a systematic, evidence‑based view of the state‑of‑the‑art. The scope includes:

We deliberately exclude low‑level hardware design (e.g., secure enclaves) and focus on protocol‑level constructs that are directly applicable to application‑level design.


2. Terminology & Conceptual Model

Term Definition
Principal An entity that can be authenticated (human user, service account, device).
Authenticator Anything that proves a principal’s identity (password, token, certificate, biometric).
Credential Secret data that an authenticator uses (hash, private key, OTP seed).
Session Server‑side state (or stateless token) that binds a series of requests to a successful authentication.
Access Token Bearer or holder‑of‑key token that authorizes resource access (OAuth, JWT).
Refresh Token Long‑lived credential used to obtain fresh access tokens without re‑authenticating.
Policy Set of rules that map a principal (or its attributes) to permitted actions on a resource.
Zero‑Trust Assumption that no network location is inherently trusted; all accesses are verified continuously.

Figure 1 (conceptual diagram) illustrates the flow:

[Principal] --(1) Authenticator--> [Auth Server] --(2) Session/Token--> [Resource Server] --(3) Policy Engine--> Decision
  1. Authentication produces a verifiable artifact (session cookie, JWT).
  2. Authorization evaluates the artifact against a policy store (RBAC, ABAC, etc.) to return allow/deny.

3. Historical Evolution of Authentication

3.1 Early Password‑Based Schemes

Year Technique Core Idea Security Issues
1970‑s Plain passwords (UNIX passwd) Store password in clear or weak hash. Replay, brute‑force, dictionary attacks.
1995 HTTP Basic Auth (RFC 2617) Base‑64 encode user:pass, send on each request. No confidentiality without TLS; credentials easily harvested.
1999 Digest Auth (RFC 2617) Challenge‑nonce + MD5 hash of password to avoid clear text. Still vulnerable to replay if TLS absent; limited adoption.

Why superseded? Cryptographic hashing (bcrypt, scrypt, Argon2) improved storage, but passwords remain a single point of failure when reused across services.

3.2 Challenge‑Response & One‑Time Passwords

Technique Protocol Main Features
CRAM‑MD5, DIGEST‑MD5 (SMTP/IMAP) Challenge‑response using HMAC. Server never sees password; still relies on shared secret.
OTP / TOTP (RFC 6238) Time‑based one‑time password generated from a shared secret. Provides something you have factor; mitigates replay but still requires password for enrollment.
SMS OTP Short code delivered over cellular network. Easy to deploy, but vulnerable to SIM‑swap and SS7 attacks.

These mechanisms introduced the concept of multi‑factor authentication (MFA), stacking knowledge (password) with possession (OTP token).

3.3 Public‑Key / Certificate‑Based Authentication

Year Mechanism Description
1995 TLS Client Certificates X.509 certificate presented during TLS handshake; mapped to a principal.
2000 Kerberos v5 (RFC 4120) Ticket‑Granting Ticket (TGT) and service tickets, encrypted with symmetric keys derived from a password‑derived key.
2003 SSH Public‑Key Auth Public key stored on server, client proves possession of private key via signature.

Advantages: Mutual authentication, protection against credential leakage, support for delegation (Kerberos tickets). Drawbacks: Operational overhead (PKI lifecycle, revocation checking, device provisioning).

3.4 Federated Identity (SAML, OpenID, OAuth)

Protocol Year Core Flow
SAML 2.0 (OASIS) 2005 IdP issues Signed Assertion (XML) → SP consumes assertion, creates session.
OpenID 1.x 2007 IdP returns a verification token via URL redirection.
OAuth 1.0a 2009 Signed request‑token → user authorizes → exchange for access token; all calls HMAC‑signed.
OAuth 2.0 (RFC 6749) 2012 Authorization Code / Implicit / Client‑Credentials grants; bearer tokens.
OpenID Connect (OIDC) 2014 OAuth 2.0 flow + ID Token (JWT) to convey identity.

These standards decouple authentication from the protected resource and enable single sign‑on (SSO) across organizational boundaries.

Security evolution:

3.5 Token‑Based Authentication (JWT, Opaque Tokens)

Token Type Format Verification
Opaque token Random string, stored server‑side. Introspection endpoint (RFC 7662) verifies.
JWT (JSON Web Token) Base64URL‑encoded header, payload, signature (RFC 7519). Self‑contained; signature verified with shared secret (HS256) or public key (RS256).

Pros: Stateless (no server session store), easy to propagate across micro‑services.
Cons: Revocation is non‑trivial; long‑lived JWTs become an attack surface if leaked.

3.6 Password‑less & Cryptographic Authenticators

Technology Year Principle
U2F / FIDO1 (Yubico) 2009 Hardware token performs a challenge‑response using a per‑origin public key.
FIDO2 / WebAuthn (W3C) 2018 Browser‑mediated, platform‑authenticators (TPM, Secure Enclave) create passkeys—cryptographic credentials bound to a relying party.
Passkeys (Apple/Google/Meta) 2023‑24 Syncable, device‑wide credentials stored in iCloud Keychain / Google Password Manager, enabling password‑less login across devices.
Decentralized Identifiers (DID) (W3C) 2020‑24 Self‑controlled identifiers whose public keys are stored in a distributed ledger; authentication via Verifiable Credentials (VC).
Biometric‑Only (FaceID, Windows Hello) 2015‑present Biometric data stays on device; cryptographic key derived from biometric enrollment and unlocked on successful match.

These mechanisms eliminate passwords from the authentication boundary, mitigating phishing, credential stuffing, and reuse. The primary challenge now lies in secure credential provisioning, device loss handling, and interoperability across ecosystems.


4. Authorization Models & Mechanisms

4.1 Discretionary & Mandatory Access Control (DAC / MAC)

Model Description Typical Setting
DAC Owner of a resource decides who can access it (Unix file permissions, ACLs). Small‑scale systems, end‑user devices.
MAC System enforces a global policy (e.g., SELinux, Trusted Computing Base). High‑assurance environments (military, critical infrastructure).

Limitations: Coarse granularity, difficult to scale to multi‑tenant cloud workloads.

4.2 Role‑Based Access Control (RBAC)

Roles are named collections of permissions; users are assigned roles.

Advantages: Simplicity of administration, alignment with organizational hierarchy.
Weaknesses: Role explosion in dynamic environments; lacks context (time, location).

4.3 Attribute‑Based Access Control (ABAC) & Policy‑Based Access Control (PBAC)

ABAC evaluates policies that reference attributes of the subject, resource, and environment (e.g., subject.department == "HR" and resource.type == "document").

Policy languages: XACML, Rego (Open Policy Agent), OPA.

PBAC is a superset that permits external context (risk scores, device posture) and dynamic constraints (time‑of‑day, geo‑location).

Pros: Fine‑grained, adaptable to Zero‑Trust.
Cons: Policy authorship complexity, higher decision latency.

4.4 Token‑Scoped Authorization (OAuth Scopes, JWT Claims)

Mechanism Example
OAuth scopes read:profile, write:calendar.
JWT claims role, exp, azp (authorized party), custom claims (department).
Resource‑Specific Permissions Embedded in access token as a JSON array of permission objects.

Tokens act as policy carriers; resource servers perform local enforcement without querying a central PDP (Policy Decision Point). This pattern is crucial for high‑throughput micro‑services where network round‑trips are undesirable.

4.5 Emerging Models

Model Core Idea Benefits
Zero‑Trust Network Access (ZTNA) Every request authenticated + authorized; trust decisions based on continuous risk evaluation. Reduces lateral movement, aligns with cloud‑native perimeterless architectures.
Continuous Authentication Authentication is re‑evaluated using behavioural metrics (keystroke dynamics, device posture) throughout the session. Detects session hijacking; improves security posture with minimal UI friction.
Context‑Aware Access Policies incorporate real‑time context (threat intelligence feeds, user risk scores). Enables adaptive MFA and risk‑based step‑up authentication.

5. Comparative Matrix

Criterion Password (static) OTP / 2FA Kerberos SAML 2.0 OpenID Connect OAuth 2.0 (Bearer) JWT (self‑contained) FIDO2 / Passkeys DID / VC
Security (confidentiality) Low (hash cracking) Medium (depends on OTP channel) High (ticket encryption) High (signed assertions) High (signed ID token) Medium (bearer risk) Medium‑High (signature) High (private key never leaves device) High (cryptographic proof)
Resistance to Phishing Low Medium (OTP may be phished) High (mutual auth) Medium (SAML redirect) High (PKCE + state) Low if token leaked Low if token leaked Very High (origin‑bound) High (no password)
Revocation Immediate (password change) OTP invalidated after use Ticket expiration, KDC revocation Assertion lifetime (short) Token revocation endpoint Token revocation (introspection) Revocation list or short TTL Credential revocation via authenticator DID document update (revocation registry)
Scalability (micro‑services) Poor (central DB) Poor (stateful OTP) Good (KDC) Moderate (federated IdP) Good (stateless ID token) Excellent (bearer token) Excellent (JWT) Excellent (public‑key credential) Emerging (depends on ledger)
Usability (user experience) Poor (remember many passwords) Moderate (extra step) Moderate (single sign‑on) Good (SSO) Excellent (social login) Good (OAuth consent) Good (JWT stored in cookie) Excellent (passkey, biometric) Varies (wallet UI)
Implementation Complexity Low Medium (OTP service) High (KDC, realm mgmt) High (metadata, XML) Medium (OIDC library) Low‑Medium (library) Medium (JWT libs) High (WebAuthn, attestation) High (DID method, VC issuer)
Standardization maturity RFC 2617 RFC 6238 / RFC 4226 RFC 4120 OASIS Standard OpenID Connect Core RFC 6749 (OAuth 2.0) RFC 7519 (JWT) FIDO 2.0 (WebAuthn) W3C DID Core, VC Data Model

Interpretation: No single technique dominates across all dimensions. Password‑less, credential‑based schemes (FIDO2/Passkeys) provide the strongest security‑usability balance for consumer‑facing apps, while OAuth 2.1 + JWT remains the pragmatic choice for API‑centric micro‑service ecosystems.


6. Security‑Usability Trade‑offs

Trade‑off Impact on Security Impact on Usability Mitigation
Short‑lived tokens Limits exposure if token intercepted. Requires frequent refresh (transparent with refresh tokens). Use silent refresh or refresh‑token rotation.
MFA everywhere Adds a second factor, dramatically reducing credential‑theft impact. Increases friction, can cause user abandonment. Adaptive MFA (risk‑based step‑up) and push‑based approvals.
Passwordless (WebAuthn) Eliminates password attack surface. Requires hardware support (platform authenticator). Provide fallback OTP or security‑key for older devices.
Self‑contained JWT No revocation without additional infrastructure. Simple stateless authentication; easy to scale. Short TTL + token introspection cache; implement revocation list (e.g., Redis).
Zero‑Trust micro‑segmentation Enforces least‑privilege per request. Complex policy authoring, may cause false‑positives. Use policy‑as‑code with CI testing and simulation.

7. Design Recommendations & Deployment Patterns

7.1 Mobile‑First API

Layer Recommended Technology Rationale
Authentication OAuth 2.1 Authorization Code + PKCE (public client). No client secret needed; PKCE prevents code‑interception.
Credential storage Encrypted iOS Keychain / Android Keystore for access/refresh tokens. Protects tokens at rest.
MFA Push‑based FIDO2 security key or platform authenticator (Passkey). Seamless UX, phishing‑resistant.
Authorization JWT with scopes (read:profile, write:calendar). Stateless, easy for edge services.
Policy enforcement Edge API gateway (Envoy, Kong) validates JWT, forwards to micro‑service. Centralised, reduces code duplication.

7.2 Enterprise SaaS (multi‑tenant)

Layer Recommended Technology Rationale
SSO SAML 2.0 or OpenID Connect with IdP‑initiated SSO. Most enterprises already have an IdP (Azure AD, Okta).
Token Opaque access token + introspection endpoint. Allows revocation without breaking statelessness.
Authorization ABAC via OPA/Rego policies stored centrally. Fine‑grained tenant‑specific permissions (role + attribute).
MFA Hardware‑based U2F + OTP fallback (SMS). Meets compliance (e.g., NIST SP 800‑63B).
Auditing Centralised logging (Elastic, Splunk) with token‑traceability (token ID in logs). Enables forensic analysis of compromised tokens.

7.3 High‑Assurance Government System

Layer Recommended Technology Rationale
Mutual Authentication TLS client certificates + Kerberos for intra‑domain. Strong cryptographic proof; supports delegation.
Authorization MAC (mandatory access control) with SELinux labels. Enforces system‑wide security policies.
MFA Smart‑card + PIN + U2F. Multi‑factor with physical token.
Token revocation CRL (Certificate Revocation List) + OCSP. Real‑time revocation for certificates.

8. Future Directions & Open Research Questions

Area Emerging Trend Open Questions
Zero‑Trust Identity Identity‑centric per‑request verification (e.g., Istio‑SPIFFE). How to design scalable, low‑latency identity verification for billions of requests?
Decentralized Identity (DID/VC) Self‑sovereign identifiers stored on distributed ledgers. Interoperability across heterogeneous DID methods; revocation mechanisms without a central authority.
Continuous Authentication Real‑time behavioural analytics (keystroke dynamics, device usage patterns). Balancing privacy with security; defining acceptable false‑positive/negative thresholds.
Post‑Quantum Authentication Lattice‑based signatures for WebAuthn (e.g., CRYSTALS‑Dilithium). Migration path for existing PKI; performance on constrained devices.
Privacy‑Preserving Authorization Attribute‑Based Credentials (ABCs) that reveal only necessary attributes (zero‑knowledge proofs). Efficient verification in high‑throughput micro‑services; standardisation of proof formats.
Policy As Code + AI‑Assisted Policy Generation Using LLMs to propose policy snippets and detect anomalies. Ensuring trustworthiness of AI‑generated policies; auditability.
Secure Credential Recovery Mechanisms for account recovery that do not re‑introduce password reliance (e.g., social‑recovery with threshold cryptography). Preventing social engineering attacks while maintaining user‑friendly recovery flow.

9. Conclusion

Authentication and authorization have progressed from simple, shared‑secret mechanisms to cryptographic, user‑centric, and policy‑driven ecosystems. The modern landscape is heterogeneous: legacy passwords still dominate many intranets, while cutting‑edge consumer applications already embrace FIDO2 Passkeys or decentralized identifiers.

Designers must choose the right combination of protocols based on:

In practice, a layered approach—combining strong, password‑less primary authentication, adaptive MFA, short‑lived, signed JWTs, and fine‑grained ABAC/PBAC—delivers the most robust security posture while supporting the Zero‑Trust paradigm that dominates tomorrow’s networks.


10. References

  1. RFC 2617 – HTTP Authentication: Basic and Digest Access Authentication.
  2. RFC 4226 – HOTP: An HMAC‑Based One‑Time Password Algorithm.
  3. RFC 6238 – TOTP: Time‑Based One‑Time Password Algorithm.
  4. RFC 4120 – The Kerberos Network Authentication Service (V5).
  5. RFC 6749 – The OAuth 2.0 Authorization Framework.
  6. RFC 6750 – Bearer Token Usage (OAuth 2.0).
  7. RFC 7519 – JSON Web Token (JWT).
  8. RFC 7662 – OAuth 2.0 Token Introspection.
  9. RFC 7523 – JWT Profile for OAuth 2.0 Client Authentication and Authorization Grants.
  10. RFC 7525 – Guidelines for Secure Use of TLS and DTLS.
  11. OpenID Connect Core 1.0, OpenID Foundation, 2014.
  12. SAML 2.0 – Assertions and Protocols, OASIS, 2005.
  13. FIDO Alliance – FIDO2: WebAuthn and CTAP specifications, 2018‑2024.
  14. NIST SP 800‑63B, “Digital Identity Guidelines”, 2022 (covers password‑less, MFA, and device verification).
  15. W3C, “Decentralized Identifiers (DIDs) v1.0”, 2023.
  16. W3C, “Verifiable Credentials Data Model 1.1”, 2024.
  17. Open Policy Agent (OPA), Rego language specification, 2023.
  18. Google Cloud BeyondCorp – Zero‑Trust security model, 2022.
  19. McGowan, J., & Stoyanovich, J., “Continuous Authentication: A Survey”, IEEE Security & Privacy, 2021.
  20. Al‑Riyami, S., et al., “Post‑Quantum WebAuthn”, ACM CCS, 2024.
  21. K. Eisenbarth, “Password‑less Authentication: A Comparative Study”, NDSS Symposium, 2023.
  22. OAuth 2.1 Draft, IETF OAuth Working Group, 2024.
  23. Zero‑Trust Architecture, NIST SP 800‑207, 2023.
  24. “Security Risks of SMS‑Based OTP”, IEEE Access, 2022.
  25. “A Formal Model for Attribute‑Based Access Control”, ACM Transactions on Information and System Security, 2020.

All RFCs and standards are publicly accessible; the above references are provided for academic completeness and are not reproduced verbatim.