Skip to content
Singahi

Compliance · guide

ISO 27001 A.8.5: Secure Authentication

91 min read

Share
On this page

Quick Reference: A.8.5 in 60 Seconds

QuestionAnswer
What is it?A control requiring secure authentication technologies and procedures to verify user and entity identity before granting access to information systems.
Why does it matter?Credential-based attacks are the #1 breach vector globally. Weak authentication undermines every other control in your security framework.
Minimum requirementDocumented authentication standard + MFA for privileged/remote access + strong password policy + session management + complete logging.
Audit red flagNo MFA on admin accounts, shared credentials, default passwords, SMS as the only MFA option, or missing authentication logs.
Quick winEnable MFA on all admin accounts and cloud consoles today.
Time to implement2–12 weeks depending on organizational size and complexity.
Related controlsA.5.15 (Access Control), A.5.16 (Identity Management), A.5.17 (Authentication Information), A.8.2 (Privileged Access), A.8.15 (Logging), A.8.16 (Monitoring)
ISO 27002 attributesControl type: Preventive · Properties: Confidentiality, Integrity, Availability · Concepts: Protect · Capabilities: Identity and access management · Domains: Protection

One-Sentence Summary: A.8.5 ensures that every person, application, and device attempting to access your systems can prove who they are, using methods strong enough for the risk of what they're accessing.


What the Control Asks For

ISO 27001:2022 A.8.5 Text

ISO 27001:2022 Annex A 8.5 asks organizations to implement secure authentication technologies and procedures based on access restrictions and the access control policy.

Do you need this control?

A.8.5 is not mandatory in itself: under clause 6.1.3 you include it if your risk assessment calls for it, and record the decision in your Statement of Applicability. Essentially every organisation with systems includes it. What you adapt is the strength of authentication by risk, for example MFA everywhere and phishing-resistant methods for admins.

This single sentence is deceptively simple but contains three critical requirements:

  1. "Technologies": You must use appropriate technical solutions (not just passwords)
  2. "Procedures": You must have documented processes for how authentication works
  3. "Based on information access restrictions and the organization's access control policy": Authentication strength must match the sensitivity of what's being accessed

ISO 27002:2022 Implementation Guidance (Section 8.5)

ISO 27002 8.5 (paraphrased):

  • Choose an authentication technique suited to the identity being proved (users, software, messages, other entities), with strength matched to the classification of the information accessed.
  • Where strong authentication is needed, use alternatives to passwords such as digital certificates, smart cards, tokens or biometrics.
  • Use multi-factor authentication for critical systems, and consider step-up factors under rules such as access from an unusual location, device or time.
  • Biometric data must be invalidated if compromised: and biometrics need at least one fallback method (fingerprints can fail with moisture or age).

Log-on procedures should:

  • (a) show no sensitive system information until log-on succeeds
  • (b) display a notice that only authorised users may access the system
  • (c) give no help that aids an attacker (for example not saying which part of the input was wrong)
  • (d) validate log-on data only when all input is complete
  • (e) protect against brute force (CAPTCHA, reset after failed attempts, lockout)
  • (f) log successful and unsuccessful attempts
  • (g) raise a security event when a breach of log-on controls is attempted or detected (for example alert after repeated failures)
  • (h) on success, show or send on a separate channel the date and time of the previous successful log-on and any failed attempts since
  • (i) not show passwords in clear text while typed (with an exception where needed, for example for accessibility)
  • (j) never send passwords in clear text over a network
  • (k) end inactive sessions after a defined period, especially in high-risk locations
  • (l) restrict connection times for high-risk applications to reduce the window of opportunity

The sections below map the page's checklists to these points.

What Auditors Actually Check

Auditor ActionWhat They Want to SeeEvidence Type
Review authentication policySigned, dated, version-controlled policy documentDocument
Inspect MFA configurationScreenshots or exports showing MFA is enforced, not just enabledConfiguration export
Test password policyAttempt to create a weak password, it should be blockedLive test
Check session timeoutsConfiguration screenshots showing timeout valuesScreenshot
Review authentication logsSIEM logs showing success/failure eventsLog sample
Sample user accounts10% of accounts checked for MFA enrollmentAccount review
Inspect service accountsEvidence of unique credentials, rotation, and vault storageVault audit
Test break-glass accessEmergency access procedure documented and testedTest record
Verify non-human authAPI keys, service principals, certificates documentedInventory
Check password storageHash algorithm verification, no plaintextTechnical review

Why A.8.5 Matters: The Business Case

Figure · Matrix

Comparison: Stolen credentials to Accounts with MFA

SourceYear
Stolen credentialsVerizon DBIR2024
Credential abuseVerizon DBIR2025
MFA blocks over 99.9%Microsoft2019
Accounts with MFAMicrosoft research2023
Condensed from the table below, which carries the full detail for each cell.

The Credential Crisis

Authentication is the front door to every system, every database, every customer record. Yet it remains the most attacked vector:

StatisticSourceYear
Stolen credentials were used in about 31% of breaches over the previous ten yearsVerizon DBIR2024
Credential abuse was the most common initial access vector, at 22% of breachesVerizon DBIR2025
MFA blocks over 99.9% of automated account-compromise attacksMicrosoft2019
Accounts with MFA enabled were 99.22% less likely to be compromised in a large sampleMicrosoft research2023

The Indian Context

India's rapid digital transformation makes secure authentication particularly critical:

  • UPI transactions: 12+ billion per month, every transaction requires authentication
  • Digital India: over 1.4 billion Aadhaar numbers generated (UIDAI), with authentication at national scale
  • Startups: 100,000+ startups, many lack mature authentication practices
  • Remote work: 70% of Indian tech workers work remotely at least part-time, remote access authentication is essential
  • CERT-In Directions (2022): unauthorised access and identity theft are among the incident types to report within 6 hours, and ICT logs (including authentication logs) must be kept for 180 days in India

Business Impact of Weak Authentication

Impact CategoryDirect CostIndirect CostRecovery Time
Data breachCommercialReputation loss, customer churn6–18 months
RansomwareCommercialBusiness disruption, SLA penalties2–6 months
Regulatory fineCommercialLegal costs, audit remediation1–3 years
IP theftUnmeasurableCompetitive disadvantagePermanent
Customer trust lossCustomer acquisition cost × churnBrand damage, negative press2–5 years

Scope and Applicability

What A.8.5 Covers

A.8.5 applies to all authentication mechanisms across the organization:

System TypeAuthentication MechanismA.8.5 Applicable?
Corporate laptops/desktopsWindows/macOS login✅ Yes
Cloud services (AWS, Azure, GCP)Console, CLI, API✅ Yes
SaaS applications (Slack, Salesforce, Jira)SSO, native auth✅ Yes
VPN/Remote accessRADIUS, SAML, OIDC✅ Yes
Internal web applicationsForm-based, SSO, API key✅ Yes
Mobile applicationsBiometric, PIN, OAuth✅ Yes
APIs and microservicesOAuth 2.0, mTLS, API key✅ Yes
Service accountsPassword, certificate, managed identity✅ Yes
Database connectionsSQL auth, IAM auth, certificate✅ Yes
IoT devicesX.509, TPM, shared secret✅ Yes
Network equipment (switches, routers)SSH, console, SNMP✅ Yes
Physical access control (badges)RFID, biometric⚠️ Partial (often A.7.1)
Guest Wi-FiCaptive portal, social login✅ Yes
Third-party/contractor accessVPN, VDI, dedicated accounts✅ Yes
Customer-facing portalsSelf-registration, OAuth✅ Yes

What A.8.5 Does NOT Cover

AreaCovered ByWhy
Physical building accessA.7.1 (Physical Security)Badges, biometrics for doors
Authorization (what you can do)A.5.15 (Access Control)A.8.5 is about WHO, A.5.15 is about WHAT
Credential lifecycle (creation, distribution, revocation)A.5.17 (Authentication Information)A.8.5 is the door, A.5.17 is the key management
Identity proofing (verifying real-world identity)A.5.16 (Identity Management)Onboarding, background checks
Privileged access managementA.8.2 (Privileged Access Rights)PAM is a specialization of A.8.5

Key Definitions and Concepts

Authentication vs. Authorization vs. Identity

TermDefinitionExampleISO 27001 Control
AuthenticationProving who you areEntering password + MFA codeA.8.5
AuthorizationDetermining what you can accessRole-based access control (RBAC)A.5.15
IdentityThe unique representation of a userUser ID, email, employee numberA.5.16
AccountThe digital entity used to access systemsActive Directory account, AWS IAM userA.8.5
CredentialThe secret used to prove identityPassword, certificate, biometric templateA.5.17

Authentication Factors

Factor TypeWhat It IsExamplesStrength
KnowledgeSomething you knowPassword, PIN, security question⭐⭐ Weak (can be guessed, phished)
PossessionSomething you havePhone, hardware key, smart card⭐⭐⭐⭐ Strong (physical required)
InherenceSomething you areFingerprint, face, iris, voice⭐⭐⭐⭐ Strong (biometric)
LocationSomewhere you areGPS, IP address, network⭐⭐ Medium (can be spoofed)
BehaviorSomething you doTyping pattern, mouse movement⭐⭐⭐ Medium (adaptive)

Key Terms

TermDefinitionWhy It Matters
Multi-Factor Authentication (MFA)Requiring two or more different factor typesThe single most effective control against credential attacks
Two-Factor Authentication (2FA)A specific case of MFA requiring exactly two factorsCommon implementation, but MFA is the broader term
Single Sign-On (SSO)One login grants access to multiple systemsReduces password fatigue, centralizes control
Identity Provider (IdP)The central system that authenticates usersOkta, Azure AD, Google Workspace
Service Provider (SP)The application that relies on the IdPSalesforce, Slack, your internal apps
PasswordlessAuthentication without passwordsUses passkeys, biometrics, or hardware keys
PasskeyFIDO2/WebAuthn credential replacing passwordsPhishing-resistant, no shared secrets
TokenA temporary credential issued after authenticationJWT, OAuth token, session cookie
SessionThe period of authenticated access after loginMust be managed, timed out, and secured
Brute forceTrying many passwords systematicallyRate limiting and account lockout prevent this
Credential stuffingUsing leaked credentials from other breachesBreach detection and MFA prevent this
PhishingFake login page to steal credentialsFIDO2/WebAuthn and user training prevent this
Man-in-the-Middle (MitM)Intercepting authentication trafficTLS, mTLS, certificate pinning prevent this
Non-Human Identity (NHI)Accounts for applications, services, botsOften overlooked, increasingly attacked
Break-glassEmergency access when normal auth failsMust be documented, tested, and monitored
Zero TrustNever trust, always verifyEvery request authenticated regardless of source
Conditional AccessDynamic policy based on risk signalsLocation, device, behavior, time
Risk-Based Authentication (RBA)Adjusting authentication strength based on riskBalances security and usability
Just-in-Time (JIT)Temporary access granted for specific tasksReduces standing privileges
Privileged Access Management (PAM)Specialized controls for admin accountsOften implemented alongside A.8.5

Relationship to Other Controls

A.8.5 Ecosystem Map

                    ┌─────────────────────────────────────┐
                    │     A.5.15 — ACCESS CONTROL          │
                    │    (What can you access?)             │
                    └─────────────────┬───────────────────┘
                                      │
                    ┌─────────────────┴───────────────────┐
                    │     A.8.5 — SECURE AUTHENTICATION    │
                    │    (Who are you? Prove it.)           │
                    └─────────────────┬───────────────────┘
                                      │
        ┌─────────────────────────────┼─────────────────────────────┐
        │                             │                             │
   ┌────┴────┐                  ┌─────┴─────┐                ┌──────┴──────┐
   │ A.5.16  │                  │ A.5.17    │                │  A.8.2      │
   │ Identity│                  │ Auth Info │                │ Privileged  │
   │ Mgmt    │                  │ Mgmt      │                │ Access      │
   │(Who are  │                  │(Keys,    │                │(Admin      │
   │ you?)    │                  │ passwords)│                │ accounts)   │
   └────┬────┘                  └─────┬─────┘                └──────┬──────┘
        │                             │                             │
   ┌────┴────┐                  ┌─────┴─────┐                ┌──────┴──────┐
   │ A.8.15  │                  │ A.8.16    │                │  A.8.4      │
   │ Logging │                  │ Monitoring│                │  Removal    │
   │(Record   │                  │(Detect   │                │  of Access  │
   │ events)  │                  │ anomalies)│                │  Rights     │
   └─────────┘                  └───────────┘                └─────────────┘

Detailed Control Relationships

ControlRelationship to A.8.5How They Work Together
A.5.12, ClassificationA.5.12 determines what needs protection; A.8.5 determines how strongly to authenticateHigher classification = stronger authentication (AAL2-AAL3)
A.5.15, Access ControlA.8.5 proves identity; A.5.15 controls what that identity can doAuthentication first, authorization second
A.5.16, Identity ManagementA.5.16 creates the identity; A.8.5 verifies it at access timeIdentity lifecycle feeds into authentication
A.5.17, Authentication InformationA.5.17 manages credentials (creation, distribution, revocation); A.8.5 uses themCredential management enables secure authentication
A.6.3, Awareness TrainingUsers must understand why authentication matters and how to use itTraining reduces MFA fatigue, phishing success
A.7.1, Physical SecurityPhysical access to devices enables authentication bypassSecure devices = secure authentication
A.8.2, Privileged AccessPrivileged accounts need the strongest authentication (AAL3 with contextual checks)A.8.2 is a specialization of A.8.5 for admin accounts
A.8.4, Removal of AccessWhen access is removed, authentication credentials must be revokedA.8.5 must be updated when A.8.4 is triggered
A.8.15, LoggingA.8.5 generates authentication events; A.8.15 records themEvery auth event must be logged
A.8.16, MonitoringA.8.16 analyzes authentication logs for anomaliesMonitoring makes authentication effective
A.8.19, Installing SoftwareNew software may need new authentication mechanismsA.8.5 must be updated for new systems
A.8.28, Secure CodingApplications must implement authentication securelyDevelopment practices ensure A.8.5 is built in
A.8.29, Development/Test/Live SeparationTest environments must not use live authentication credentialsSeparation prevents credential leakage
A.8.30, Outsourced DevelopmentThird-party developers need authenticated but limited accessAuthentication controls for external parties
A.8.31, Dev/Test/Live SeparationSame as A.8.29, separation of environmentsTest credentials must be different from production
A.5.32, Intellectual PropertyAuthentication protects access to IPStrong auth for R&D, source code, patents
A.8.12, Data Leakage PreventionAuthentication prevents unauthorized data exfiltrationAccess controls start with authentication

The 8 Pillars of Secure Authentication

Think of A.8.5 as 8 interlocking pillars. Weakness in any one pillar compromises the entire structure. Each pillar must be implemented with equal rigor.

                    ┌─────────────────────────────────────┐
                    │     PILLAR 1: AUTHENTICATION         │
                    │         STANDARD & POLICY             │
                    │   (The foundation — everything       │
                    │    references this document)          │
                    └─────────────────┬───────────────────┘
                                      │
        ┌─────────────────────────────┼─────────────────────────────┐
        │                             │                             │
   ┌────┴────┐                  ┌─────┴─────┐                ┌──────┴──────┐
   │ PILLAR 2│                  │ PILLAR 3  │                │  PILLAR 4   │
   │  RISK-  │                  │ PASSWORD  │                │    MFA      │
   │  BASED  │                  │  POLICY   │                │  & FACTORS  │
   │  MODEL  │                  │           │                │             │
   └────┬────┘                  └─────┬─────┘                └──────┬──────┘
        │                             │                             │
   ┌────┴────┐                  ┌─────┴─────┐                ┌──────┴──────┐
   │ PILLAR 5│                  │ PILLAR 6  │                │  PILLAR 7   │
   │ SESSION │                  │  SECURE   │                │  NON-HUMAN  │
   │   MGMT  │                  │ LOG-ON    │                │     AUTH     │
   │         │                  │  DESIGN   │                │             │
   └────┬────┘                  └─────┬─────┘                └──────┬──────┘
        │                             │                             │
        └─────────────────────────────┼─────────────────────────────┘
                                      │
                    ┌─────────────────┴───────────────────┐
                    │     PILLAR 8: LOGGING & MONITORING │
                    │   (The nervous system — detects     │
                    │    breaches and provides evidence)  │
                    └─────────────────────────────────────┘

Pillar 1: Authentication Standard & Policy

The foundation document that defines your organization's approach to authentication. Every other pillar references this.

Required elements:

  • Authentication principles (risk-based, MFA mandate, passwordless target)
  • Factor requirements by system classification
  • Password policy (length, complexity, rotation, storage)
  • MFA policy (enforcement, exceptions, methods)
  • Session management (timeouts, concurrent sessions, re-authentication)
  • Non-human authentication (service accounts, APIs, IoT)
  • Logging and monitoring requirements
  • Exception process and risk acceptance
  • Roles and responsibilities
  • Review and update cycle (annual minimum)

Pillar 2: Risk-Based Model

Not all systems need the same authentication strength. Assign Authentication Assurance Levels (AAL) based on risk.

Pillar 3: Password Policy

Modern, evidence-based password requirements that prioritize length over complexity and eliminate harmful practices like forced rotation.

Pillar 4: MFA & Factors

Multi-factor authentication is the single most effective control against credential attacks. Implement it everywhere feasible.

Pillar 5: Session Management

Authentication is not a one-time event. Sessions must be actively managed with timeouts, re-authentication, and secure token handling.

Pillar 6: Secure Log-On Design

Login interfaces must be designed to resist reconnaissance, enumeration, and brute force attacks. Generic errors, rate limiting, and minimal disclosure are essential.

Pillar 7: Non-Human Authentication

Service accounts, APIs, bots, and IoT devices now outnumber human accounts. They need the same, often stronger, authentication controls.

Pillar 8: Logging & Monitoring

Every authentication event must be logged, retained, and monitored. This is your evidence for audits and your detection mechanism for attacks.


Risk-Based Authentication Model

Figure · Tiers

Maturity levels for secure authentication

Maturity levels for ISO 27001 A.8.5, secure authentication, from most to least mature: AAL3 + context, critical; AAL3, high; AAL2, medium; AAL1, low.
Where most organisations sit, and what the next level asks for. Full characteristics per level are in the table below.

The most important concept in A.8.5: not all systems need the same authentication strength. Applying the same authentication to every system is either wasteful (over-protecting low-risk systems) or dangerous (under-protecting high-risk ones).

The Authentication Assurance Levels (AAL)

LevelNameUse CaseRequired FactorsExample Systems
AAL1LowPublic information, marketing contentSingle factor (password acceptable)Company blog, public website, careers page
AAL2MediumInternal tools, non-sensitive data, general workforceTwo factors (password + TOTP/push)HR portal, internal wiki, expense system
AAL3HighFinancial systems, customer data, production environmentsTwo factors (password + hardware key)AWS console, banking app, CRM, ERP
AAL3 + context (organisation-defined)CriticalCrown jewels, admin access, break-glass, C-suitePhishing-resistant hardware authenticator plus device and location checksDomain admin, production root, CFO account

(NIST SP 800-63B defines three Authenticator Assurance Levels, AAL1 to AAL3. The top row is an organisation-defined tier that adds contextual checks on top of AAL3; it is not a NIST level.)

How to Assign Authentication Levels

Step 1: Classify Your Information (A.5.12)

Map your information classification directly to authentication requirements:

ClassificationAuthentication LevelMFA Required?Factor Requirements
PublicAAL1NoPassword minimum 12 characters
InternalAAL1NoPassword minimum 12 characters
ConfidentialAAL2Yes (TOTP minimum)Password + TOTP or push
Highly ConfidentialAAL3Yes (hardware key preferred)Password + hardware key
RestrictedAAL3 + contextYes (hardware key + context)Password + hardware key + location/device verification

Step 2: Assess Additional Risk Factors

Add +1 to your required level if any of these apply:

  • System is internet-facing (public IP, no VPN required)
  • System allows remote access (VPN, RDP, SSH from outside)
  • System handles financial transactions (payments, payroll, accounting)
  • System contains PII, health data, or payment card data
  • System is privileged/admin access (domain admin, root, cloud admin)
  • System has no compensating controls (no WAF, no network segmentation)
  • System is accessed by third parties (contractors, vendors, partners)
  • System is a single point of failure (no redundancy, no backup)

Step 3: Document the System-by-System Authentication Matrix

SystemClassificationRisk FactorsRequired AALActual AALGap?Action
AWS ConsoleHighly ConfidentialInternet + Remote + AdminAAL3 + contextAAL2⚠️ GapMigrate to hardware key + location check
SalesforceConfidentialInternet + Customer DataAAL3AAL3✅ OKMaintain
Internal WikiInternalNoneAAL1AAL1✅ OKMaintain
VPNConfidentialRemote + Network AccessAAL3AAL2⚠️ GapAdd hardware key for VPN
GitHub OrgHighly ConfidentialSource Code + AdminAAL3AAL3✅ OKMaintain
Financial ERPRestrictedFinancial + Admin + PIIAAL3 + contextAAL3⚠️ GapAdd hardware key + context
HR PortalConfidentialPII + InternetAAL3AAL2⚠️ GapAdd TOTP minimum
Jira/ConfluenceInternalNoneAAL1AAL1✅ OKMaintain
CI/CD PipelineHighly ConfidentialProduction deploymentAAL3AAL2⚠️ GapAdd hardware key for pipeline access
Database AdminHighly ConfidentialCustomer data + AdminAAL3 + contextAAL3⚠️ GapAdd hardware key + JIT approval

Risk-Based Authentication in Practice

Example: Adaptive Authentication Flow

User attempts to log in
         │
         ▼
┌─────────────────────────┐
│ 1. Evaluate risk signals │
│    • Location (known? )  │
│    • Device (managed? )  │
│    • Time (business hrs? )│
│    • Behavior (anomaly? ) │
│    • Network (corporate? ) │
└─────────────────────────┘
         │
         ▼
┌─────────────────────────┐
│ 2. Calculate risk score  │
│    0-20: Low risk        │
│    21-50: Medium risk    │
│    51-80: High risk      │
│    81-100: Critical risk │
└─────────────────────────┘
         │
         ▼
┌─────────────────────────┐
│ 3. Apply policy          │
│    Low: Standard auth    │
│    Medium: + TOTP        │
│    High: + hardware key  │
│    Critical: Block + alert│
└─────────────────────────┘

Real-World Risk Signals:

SignalRisk ImpactMitigation
Login from new country+40 pointsRequire hardware key + manager approval
Login from Tor network+60 pointsBlock + alert SOC
Login outside business hours+20 pointsRequire additional MFA step
Unmanaged device+30 pointsRequire device enrollment + MFA
Impossible travel (2 logins, 1 hour, 1000km apart)+70 pointsBlock + force password reset
First login from new device+25 pointsRequire email verification + TOTP
Failed login followed by success+15 pointsLog + alert
Credential stuffing pattern+50 pointsBlock IP + require CAPTCHA

Password Policy: The Modern Standard

What NIST SP 800-63B Says (And Why ISO 27001 Aligns)

The old password rules have been overturned by research and by NIST SP 800-63B, whose fourth revision (SP 800-63B-4, 2025) says passwords used as the only factor must be at least 15 characters (at least 8 when used with MFA), verifiers must not impose composition rules or periodic changes, and passwords must be checked against lists of breached and common passwords. Here's the evidence-based approach:

Old RuleWhy It's WrongResearch EvidenceModern Rule
8 characters + complexityUsers pick P@ssw0rd123!, easily cracked by GPUsCrackLib studies show "complex" passwords are cracked faster than long passphrasesMinimum 15 characters for single-factor use (8 with MFA): no composition rules
Change every 90 daysUsers increment: Password1, Password2University of North Carolina study (Zhang, Monrose and Reiter, 2010): many new passwords could be guessed quickly from the old onesChange only on compromise
Special characters requiredP@ssw0rd is in every dictionaryDictionary attacks crack 90% of "complex" passwords in hoursLength over complexity
Security questions"Mother's maiden name" is public dataSocial media makes security questions trivial to answerBan security questions: use MFA instead
Password hintsHelp attackers as much as usersHints often reveal the password or make it easy to guessBan password hints
Maximum age enforcementCreates predictable patternsNIST: "Verifiers SHOULD NOT require memorized secrets to be changed arbitrarily"No maximum age

Active Directory / Entra ID Configuration

Group Policy Settings (Windows Active Directory):

SettingOld ValueModern ValuePolicy Path
Minimum password length814Computer Config > Policies > Windows Settings > Security Settings > Account Policies > Password Policy
Password must meet complexity requirementsEnabledDisabledSame path
Maximum password age90 days0 (never expires)Same path
Minimum password age1 day0Same path
Store password using reversible encryptionDisabledDisabled (verify)Same path
Account lockout threshold510Account Policies > Account Lockout Policy
Account lockout duration30 minutes30 minutesSame path
Reset account lockout counter30 minutes30 minutesSame path

Entra ID (Azure AD) Settings:

SettingRecommended ValuePath
Password protection (custom banned list)Company name, common terms, department names, product namesEntra ID > Security > Authentication Methods > Password Protection
Password protection (mode)EnforcedSame path
Password protection (on-premises integration)YesSame path
Smart lockout10 failed attempts, 5-minute lockout durationEntra ID > Security > Authentication Methods > Password Protection
Self-service password reset (SSPR)Enabled for all usersEntra ID > Password Reset
SSPR authentication methodsMobile app code, email, mobile phoneSame path
Registration requiredYes (prompt users to register)Same path

Okta Settings:

SettingRecommended ValuePath
Password complexityMinimum 12 characters, no complexity requirementsSecurity > Authentication > Password
Password historyPrevent last 10 passwordsSame path
Password lockout10 attempts, 30-minute lockoutSame path
Password show/hideEnabledSame path
Password resetEnabled, requires MFASame path

Password Hashing Best Practices

AlgorithmStatusWork FactorNotes
Argon2id✅ Recommendedm=65536, t=3, p=4Winner of Password Hashing Competition, memory-hard
bcrypt✅ Acceptablecost=12+Older but widely supported, GPU-resistant
scrypt✅ AcceptableN=2^14, r=8, p=1Memory-hard, good for embedded systems
PBKDF2⚠️ Acceptable with high iterations600,000+ iterationsNIST recommended but slower than Argon2
SHA-256/SHA-512❌ Not for passwordsN/AFast = easily brute-forced
MD5❌ NeverN/ABroken since 2004
SHA-1❌ NeverN/ABroken since 2017
Crypt()❌ NeverN/AOutdated, weak salts

Multi-Factor Authentication (MFA) Deep Dive

The MFA Factor Hierarchy (Strongest to Weakest)

RankFactorStrengthVulnerabilitiesBest ForCost
1FIDO2 / WebAuthn / Passkeys⭐⭐⭐⭐⭐ Phishing-resistantNone significantAll users, especially adminFree (built into devices)
2Hardware Security Keys (YubiKey, Titan)⭐⭐⭐⭐⭐ Phishing-resistantPhysical lossAdmin, developers, high-riskCommercial
3Authenticator Apps (TOTP: Google Authenticator, Authy, Microsoft Authenticator)⭐⭐⭐⭐ StrongPhishing (if user tricked), device compromiseGeneral workforceFree
4Push Notifications (Duo, Microsoft Authenticator)⭐⭐⭐⭐ StrongPush fatigue attacks, MFA bombingGeneral workforceCommercial
5SMS / Email OTP⭐⭐ WeakSIM swapping, SS7 attacks, phishing, interceptionAvoid, transitional onlyIncluded in phone plan
6Phone Call⭐⭐ WeakCaller ID spoofing, SIM swapping, voice synthesisAvoidIncluded in phone plan
7Security Questions⭐ WeakSocial engineering, public data, easy to researchBanFree

NIST SP 800-63B Authenticator Assurance Levels (AAL)

AALFactors RequiredExamplesUse Case
AAL1Single factorPassword, PINLow-risk, public information
AAL2Two factors (any two different types)Password + TOTP, Password + pushStandard workforce, internal systems
AAL3Two factors (hardware-based + memorized)Password + hardware key, Password + FIDO2High-risk, admin, financial
AAL1Single factorPassword, PINLow-risk, public information
AAL2Two factors (any two different types)Password + TOTP, Password + pushStandard workforce, internal systems
AAL3Two factors (hardware-based + memorized)Password + hardware key, Password + FIDO2High-risk, admin, financial

MFA Enforcement Strategy: The 4-Phase Rollout

Phase 1: Immediate (Week 1), Critical Accounts

  • Enable MFA for all admin accounts (AWS root, Azure AD Global Admin, Domain Admin, Google Super Admin)
  • Enable MFA for all cloud console access (AWS Management Console, Azure Portal, GCP Console)
  • Enable MFA for VPN access (all remote access methods)
  • Enable MFA for remote desktop (RDP, SSH jump boxes, VDI)
  • Enable MFA for code repository admin access (GitHub Org Admin, GitLab Admin)
  • Enable MFA for financial system admin access (ERP, accounting, payroll)
  • Document all exceptions with risk acceptance forms

Phase 2: Short Term (Weeks 2–4), Workforce Expansion

  • Enable MFA for all SaaS apps (Google Workspace, Microsoft 365, Salesforce, Slack, Jira)
  • Enable MFA for all Git/code repositories (GitHub, GitLab, Bitbucket, all users, not just admins)
  • Enable MFA for financial systems (ERP, accounting, all users)
  • Enable MFA for HR systems (HRMS, payroll, benefits)
  • Enable MFA for customer support tools (Zendesk, Freshdesk, Intercom)
  • Target: 80% workforce MFA enrollment by end of Week 4

Phase 3: Medium Term (Weeks 5–8), Complete Coverage

  • Enable MFA for all customer-facing systems (if applicable, B2B portals, customer dashboards)
  • Enable MFA for all third-party contractor access (time-limited, scoped)
  • Enable MFA for CI/CD pipeline access (GitHub Actions, Jenkins, GitLab CI)
  • Enable MFA for database admin tools (pgAdmin, MySQL Workbench, DataGrip)
  • Enable MFA for monitoring and alerting tools (Datadog, Grafana, PagerDuty)
  • Target: 95% workforce MFA enrollment by end of Week 8

Phase 4: Long Term (Weeks 9–12), Optimization

  • Enable MFA for ALL users on ALL systems (zero exceptions except documented)
  • Migrate from SMS/TOTP to FIDO2/passkeys for all admin accounts
  • Implement passwordless for low-risk systems (internal wiki, non-sensitive tools)
  • Implement risk-based step-up (unusual location = additional factor)
  • Implement conditional access (managed device + known location = standard auth)
  • Target: 100% MFA enrollment, 50% passwordless adoption

MFA Exceptions (Documented Only)

Some systems genuinely cannot support MFA. Document these with formal exceptions:

ExceptionJustificationCompensating ControlReview DateApproved ByRisk Acceptance ID
Legacy printer admin interfaceNo MFA support in firmwareNetwork segmentation, IP whitelisting, no internet access2026-12-31CISORA-2026-001
Old SCADA systemVendor lock-in, no updates availableAir-gapped network, physical access only, no remote access2026-09-30CTORA-2026-002
Service account for legacy ERP integrationCannot enroll in MFACertificate-based auth, IP restriction, rotation every 30 days, vault storage2026-12-31Security LeadRA-2026-003
Break-glass accountEmergency access when IdP is downOffline hardware key, sealed envelope, quarterly test, 24-hour auto-expiry2026-06-30CISORA-2026-004

Rule: Every exception must have:

  1. Risk acceptance form (CISO or higher approved)
  2. Compensating control (at least one)
  3. Quarterly review date
  4. Risk acceptance ID for tracking
  5. Retirement plan (how to eliminate the exception)

MFA Methods by Use Case

Use CaseRecommended MethodAlternativeWhy
General workforcePush notification or TOTPFIDO2 (encourage)Balance of security and usability
DevelopersHardware key (FIDO2) + backup keyTOTP (secondary)Phishing-resistant, protects source code
System administratorsHardware key (FIDO2) + backup keyTOTP (emergency)Highest security, no SMS fallback
Executives/C-suiteHardware key or push notificationTOTP (travel backup)High-profile targets, need strong protection
Customer app (B2C)Passkeys / FIDO2Password + TOTP (fallback)Best UX, phishing-resistant, no password reset
API/service accountsmTLS or OAuth 2.0 client credentialsCertificate-basedNo human interaction, automated
IoT devicesX.509 certificates or TPMPre-shared key (avoid)Hardware-based, no passwords
ContractorsTOTP + conditional accessPush (if short-term)Time-limited, location-restricted, scoped
Third-party vendorsDedicated account + TOTPHardware key (if long-term)Isolated, monitored, time-bound
Break-glassOffline hardware keySealed envelope + escrowEmergency only, tested quarterly

MFA Fatigue and Number Matching

The Problem: Attackers bombard users with push notifications until they accept one ("MFA fatigue" or "MFA bombing"). The Uber breach (2022) was caused by this exact technique.

Defenses:

DefenseHow It WorksImplementation
Number matchingUser must enter a number displayed on the login screen into their authenticator appMicrosoft Authenticator, Duo, Okta
Push limitsMaximum 3 push notifications per login attemptConfigure in IdP
GeofencingBlock push notifications from high-risk countriesConditional access policy
Contextual pushShow location, IP, and device in the push notificationMicrosoft Authenticator, Duo
Risk-based step-upUnusual location triggers additional verificationAzure AD Identity Protection, Okta
User educationTrain users to NEVER accept unexpected push notificationsSecurity awareness training (A.6.3)
Admin push restrictionsAdmin accounts require hardware key, not pushPolicy in IdP

FIDO2/WebAuthn Implementation Guide

FIDO2 is the gold standard for authentication. It is phishing-resistant by design because the credential is bound to the website domain.

How FIDO2 Works:

  1. User registers a FIDO2 authenticator (hardware key, phone, laptop TPM)
  2. During registration, the authenticator creates a public/private key pair
  3. The private key NEVER leaves the authenticator
  4. During authentication, the website sends a challenge
  5. The authenticator signs the challenge with the private key
  6. The website verifies the signature with the stored public key
  7. If the website is a fake phishing site (wrong domain), the authenticator will refuse

Implementation Steps:

  1. Enable in IdP: Okta (Okta FastPass), Azure AD (FIDO2 security key), Google Workspace (FIDO2)
  2. Enable in applications: Use WebAuthn API for custom apps
  3. Distribute hardware keys: Order YubiKey 5 NFC or Bio series for admin accounts
  4. Train users: Provide setup guides for Windows Hello, Apple Touch ID, Android fingerprint
  5. Monitor adoption: Track FIDO2 enrollment percentage
  6. Target: 100% admin accounts on FIDO2 within 3 months

Recommended Hardware Keys:

ProductFeaturesBest For
YubiKey 5 NFCFIDO2, OTP, NFC, USB-CGeneral workforce, mobile
YubiKey 5 NanoFIDO2, OTP, USB-A (small)Laptop users
YubiKey BioFIDO2 + fingerprintHigh-security environments
Google Titan KeyFIDO2, USB-CGoogle Workspace shops
Thetis FIDO2 KeyFIDO2, budgetCost-conscious deployments

Passwordless & Passkey Authentication

What Are Passkeys?

Passkeys are FIDO2/WebAuthn credentials that replace passwords entirely. They represent the future of authentication, eliminating the weakest link (passwords) while improving user experience.

Key characteristics:

  • Phishing-resistant: Bound to the website domain, cannot be tricked by fake sites. The credential only works for the exact domain it was registered for.
  • No shared secrets: Private key never leaves the device. The server only stores a public key, which is useless to attackers.
  • Cross-device: Sync via Google Password Manager, Apple iCloud Keychain, 1Password, or Dashlane. Use your phone to authenticate on your laptop.
  • User-friendly: Biometric (fingerprint/face) or PIN unlock. No passwords to remember, no passwords to forget.
  • Breach-proof: If the server is breached, attackers only get public keys, which cannot be used to authenticate.
  • No credential reuse: Each passkey is unique per site. No risk of the same password being used across multiple services.

Passkey vs. Password Comparison

FactorPasswordPasskeyWinner
User experienceRemember/Type/Reset/ForgotBiometric/PIN, one touch✅ Passkey
Phishing resistance❌ Vulnerable to fake sites✅ Domain-bound, impossible to phish✅ Passkey
Credential reuse❌ Common across sites✅ Unique per site✅ Passkey
Breach impact❌ Hash can be cracked offline✅ Public key only, useless to attackers✅ Passkey
Server storage❌ Hash (crackable offline)✅ Public key only✅ Passkey
Brute force❌ Vulnerable to guessing✅ Cryptographically impossible✅ Passkey
Support✅ Universal (everything supports passwords)⚠️ Growing (all major platforms now)Password (for now)
Recovery❌ Complex reset flows✅ Cloud sync or hardware backup✅ Passkey
Implementation cost✅ Free (built-in)⚠️ Requires IdP/app supportPassword (for now)
User training❌ Constant password hygiene training✅ Minimal (just "use your fingerprint")✅ Passkey

Passkey Implementation Roadmap

Phase 1: Enable (Month 1)

  • Enable passkey support in your IdP (Okta, Azure AD, Google Workspace)
  • Enable passkey support in your customer-facing apps (WebAuthn API)
  • Communicate to users: "You can now use passkeys instead of passwords"
  • Provide passkey setup guides for iOS, Android, Windows, macOS
  • Train IT help desk on passkey troubleshooting
  • Target: 10% passkey adoption

Phase 2: Encourage (Months 2–3)

  • Make passkey the default option during enrollment
  • Provide passkey setup guides for all platforms
  • Offer incentives: "Set up a passkey, get a coffee gift card" (optional)
  • Add passkey to security awareness training
  • Share success stories: "No more password resets!"
  • Target: 25% passkey adoption

Phase 3: Push (Months 4–6)

  • Require passkey for new accounts (make it the default)
  • Require passkey for admin accounts (hardware key or platform authenticator)
  • Send reminders to users still on passwords: "Your account is more secure with a passkey"
  • Disable password-based authentication for low-risk systems (pilot)
  • Target: 50% passkey adoption

Phase 4: Sunset (Months 6–12)

  • Disable password-based authentication for low-risk systems (all)
  • Disable password-based authentication for medium-risk systems
  • Retain password as fallback only for high-risk systems (with strong MFA)
  • Target: 80% passkey adoption, password only for legacy exceptions
  • Plan for full password elimination by Month 18

Passkey Platform Support (2026)

PlatformPasskey SupportSync MethodNotes
Windows 11/10✅ Native (Windows Hello)Microsoft accountPIN, fingerprint, face
macOS✅ Native (Touch ID)iCloud KeychainTouch ID, Apple Watch
iOS✅ Native (Face ID/Touch ID)iCloud KeychainFace ID, Touch ID
Android✅ Native (fingerprint/PIN)Google Password ManagerFingerprint, PIN, pattern
Chrome✅ NativeGoogle Password ManagerCross-device sync
Safari✅ NativeiCloud KeychainApple ecosystem
Firefox✅ Native (limited)Firefox AccountLimited sync
1Password✅ Extension1Password vaultCross-platform
Dashlane✅ ExtensionDashlane vaultCross-platform
Bitwarden✅ ExtensionBitwarden vaultCross-platform, open source

Break-Glass with Passkeys

Challenge: What happens if the IdP is down and you need emergency access?

Solution: Offline hardware keys

  • Store 2–3 hardware keys in a physical safe (separate locations)
  • Register them as break-glass authenticators
  • Test quarterly (physical retrieval + login test)
  • Auto-expire break-glass sessions after 24 hours
  • Require CISO approval for any break-glass use
  • Document all break-glass usage in incident log

Single Sign-On (SSO) & Identity Providers

SSO Architecture Decision: SAML vs. OIDC

FactorSAML 2.0OpenID Connect (OIDC)Recommendation
Age2005 (mature, stable)2014 (modern, actively developed)OIDC for new implementations
FormatXML (verbose, complex)JSON (lightweight, readable)OIDC for modern APIs
Use caseEnterprise web apps, legacyModern apps, mobile, APIs, SPAsOIDC for everything new
ComplexityHigh (XML signatures, assertions)Medium (JWT tokens, simpler flow)OIDC is easier to implement
SecurityXML signature wrapping attacks possibleModern JWT, better security primitivesOIDC with PKCE
Mobile/API❌ Poor support✅ Native support (OAuth 2.0)OIDC
Legacy apps✅ Wide support (older apps)⚠️ May need adapter or proxySAML for legacy, OIDC for new
Token sizeLarge (XML)Small (JWT)OIDC
Session managementLimitedBetter (refresh tokens, revocation)OIDC
FederationEstablished standardGrowing supportEither works

Recommendation: Use OIDC for all new applications. Maintain SAML only for legacy apps that cannot be migrated. Plan SAML-to-OIDC migration over 2–3 years.

Centralized IdP Strategy

The Goal: One identity provider, one source of truth, one place to enforce policy. This is the "single pane of glass" for identity.

TierIdPUse CaseMFA EnforcementFederation
PrimaryOkta / Microsoft Entra ID / Ping IdentityAll corporate apps, SSO hub, central policyEnforced at IdP levelSAML, OIDC, WS-Fed
SecondaryGoogle WorkspaceEmail, calendar, docs, Google CloudSynced with primary IdP (via federation)SAML, OIDC
CloudAWS IAM Identity Center / Azure ADCloud console access, CLI, APIEnforced via federation with primary IdPSAML, OIDC
CustomerAuth0 / Firebase Auth / AWS CognitoB2C / B2B customer apps, external portalsCustomer-managed or enforced by youOIDC, SAML
LegacyActive Directory (on-prem)On-prem apps, legacy systemsSynced with primary IdP (Azure AD Connect)LDAP, Kerberos

SSO Implementation Checklist

  • All SaaS apps integrated with IdP (zero standalone authentication)
  • MFA enforced at IdP level, not per-app (consistent policy, no gaps)
  • Session timeout enforced at IdP (30 minutes idle, 8 hours maximum)
  • Conditional access rules configured (location, device, risk, time)
  • User provisioning/deprovisioning automated (SCIM protocol)
  • Break-glass accounts documented (emergency access without SSO)
  • IdP logs forwarded to SIEM (centralized visibility)
  • IdP configuration reviewed quarterly (access reviews, policy updates)
  • IdP high availability configured (no single point of failure)
  • IdP backup and recovery tested annually
  • IdP administrator roles segregated (no single admin has full control)
  • IdP certificate rotation automated (SAML signing, OIDC discovery)

SCIM Provisioning

SCIM (System for Cross-domain Identity Management) automates user lifecycle:

Automated Actions:

  • New hire → IdP creates account → SCIM provisions to all apps
  • Role change → IdP updates groups → SCIM updates app permissions
  • Termination → IdP disables account → SCIM deprovisions from all apps
  • Leave → IdP suspends → SCIM suspends app access

Benefits:

  • Eliminates manual account creation/deletion errors
  • Ensures access is removed within hours, not days
  • Reduces help desk tickets by 60%
  • Improves audit compliance (provable access removal)

Break-Glass and Emergency Access

When the IdP fails, you still need access to critical systems. Plan for this:

ScenarioSolutionImplementation
IdP outageOffline hardware keysStore 2–3 YubiKeys in physical safe, test quarterly
IdP admin lockoutSecondary admin accountSeparate Entra ID tenant, separate Okta org, different credentials
IdP compromiseAir-gapped admin accountsLocal AD accounts with no cloud sync, physical access only
Complete infrastructure failurePrinted emergency proceduresSealed envelope, CISO safe, tested annually

Non-Human Authentication (APIs, Service Accounts, Bots)

The Non-Human Identity Problem

Non-human identities (NHIs) now outnumber human identities 10:1 in most organizations. They are also the most neglected and most attacked.

NHI TypeAuthentication MethodRisk LevelCommon Mistake
Service accounts (Windows/Linux)Password or certificate🔴 HighShared across apps, hardcoded
API keys (SaaS integrations)Static key🔴 HighCommitted to Git, no rotation
OAuth 2.0 service principalsClient credentials🟡 MediumLong-lived secrets, no expiration
Managed identities (AWS IAM, Azure MSI)Platform-managed🟢 LowBest practice, no credentials to manage
Kubernetes service accountsToken🟡 MediumDefault token with broad permissions
CI/CD pipeline tokensPersonal access token🔴 HighLong-lived, over-permissioned
Database connection stringsPassword in config🔴 HighHardcoded, shared, no rotation
IoT device certificatesX.509🟡 MediumSelf-signed, no revocation plan
Bot accounts (Slack, Teams)OAuth token🟡 MediumStored in environment variables
Cloud service accountsIAM key🔴 HighDownloaded to local machines

Service Account Best Practices

1. Unique Identity

  • One service account per application/integration (never share)
  • Naming convention: svc-{appname}-{environment}-{purpose}
  • Examples: svc-invoice-prod-api, svc-reporting-staging-etl
  • Document owner, purpose, and retirement date in CMDB

2. No Passwords Where Possible

  • Use managed identities (Azure MSI, AWS IAM roles, GCP service accounts)
  • Use certificate-based authentication (X.509, no shared secrets)
  • Use OAuth 2.0 client credentials with short-lived tokens (1-hour expiry)
  • Use workload identity (IRSA, Azure AD Workload Identity, GCP Workload Identity)

3. If Password Is Required

  • Generate 32+ character random password (vault-generated)
  • Store in vault only (HashiCorp Vault, Azure Key Vault, AWS Secrets Manager)
  • Rotate every 30–90 days (automated, no human intervention)
  • Never hardcode in source code, config files, or environment variables
  • Never commit to Git (use .gitignore, pre-commit hooks, secret scanning)
  • Never share via email, Slack, or chat

4. Least Privilege

  • Service account has ONLY the permissions needed (no "just in case" access)
  • No admin rights for service accounts (ever)
  • Regular access reviews (quarterly), "Does this account still need this access?"
  • Time-bound access where possible (JIT for service accounts)

5. Monitoring

  • Log every service account authentication
  • Alert on unusual usage (wrong IP, wrong time, excessive calls)
  • Alert on service account used from human workstation (major red flag)
  • Alert on service account accessing data it doesn't normally access
  • Alert on service account authentication outside business hours

API Authentication Patterns

PatternUse CaseSecurity LevelImplementationExample
API KeyInternal APIs, low-risk, legacy⭐⭐X-API-Key: sk-abc123 in headerInternal reporting API
OAuth 2.0 (Client Credentials)Service-to-service⭐⭐⭐⭐Token exchange, short-lived (1 hour)Microservices communication
OAuth 2.0 (Authorization Code + PKCE)User-facing apps⭐⭐⭐⭐Mobile apps, SPAsCustomer mobile app
mTLS (Mutual TLS)High-security internal⭐⭐⭐⭐⭐Certificate-based, no passwordsBanking microservices
JWT (Signed Tokens)Stateless auth⭐⭐⭐RS256, short expiry (15 min), scopesAPI gateway
HMAC (Signed Requests)Webhooks, callbacks⭐⭐⭐Signed with shared secret, verify signatureGitHub webhooks, Stripe
AWS Signature V4AWS API calls⭐⭐⭐⭐AWS SDK handles signingS3, EC2, Lambda API
Azure AD Managed IdentityAzure services⭐⭐⭐⭐⭐Platform-managed, no secretsAzure Functions, VM
GCP Service AccountGCP services⭐⭐⭐⭐Platform-managed, keylessCloud Functions, GCE

Anti-Patterns, Never use API keys in:

  • ❌ Frontend JavaScript (visible to users, can be extracted)
  • ❌ Mobile app source code (can be decompiled)
  • ❌ Public GitHub repos (scanning bots find these in minutes)
  • ❌ URL parameters (logged in server logs, browser history, proxy logs)
  • ❌ Email or chat (Slack, Teams, WhatsApp, searchable forever)
  • ❌ Browser extensions (can be inspected)
  • ❌ Client-side storage (localStorage, cookies without HttpOnly)

Database Authentication Best Practices

DatabaseAuthentication MethodBest Practice
PostgreSQLIAM auth (AWS RDS) or certificateNo passwords in connection strings
MySQLIAM auth (AWS RDS) or certificateUse IAM auth token, rotate automatically
SQL ServerEntra ID auth (Azure SQL)No SQL logins, use Entra ID
MongoDBX.509 certificate or SCRAM-SHA-256Certificate preferred, no default credentials
RedisRedis ACL or passwordStrong password, no default
ElasticsearchAPI key or OAuthScoped API keys, not master credentials
SnowflakeKey pair authenticationRSA key pair, no password
OracleOS authentication or certificateAvoid default accounts (SCOTT, SYSTEM)

Secure Log-On Design

The 6 Principles of Secure Log-On

PrincipleImplementationWhy It MattersRisk If Ignored
Minimal DisclosureNo system name, version, or internal details on login pagePrevents reconnaissanceAttackers know what to target
Generic Errors"Invalid username or password", never specify whichPrevents user enumerationAttackers can build valid user list
Validate TogetherCheck all fields at once, don't reveal which failedPrevents username enumerationAttackers confirm valid usernames
Rate LimitingMax 5 attempts per 15 minutes, exponential backoffPrevents brute forcePasswords cracked via automation
Account LockoutTemporary lockout after 10 failed attemptsPrevents brute forceAccount takeover via guessing
CAPTCHAAfter 3 failed attempts, require CAPTCHAPrevents automated attacksBot-driven credential stuffing

Login Page Security Checklist

Visual Design:

  • No software version numbers visible ("v2.4.1", "Powered by Django 4.0")
  • No "Powered by [Framework]" badges
  • No links to admin panels, documentation, or API references
  • Generic banner: "Authorized use only. Unauthorized access may be monitored and prosecuted."
  • No organization-specific details that aid reconnaissance

Form Security:

  • Password field masked by default (dots/asterisks)
  • "Show password" toggle available (accessibility)
  • No autocomplete for username on shared devices (optional, configurable)
  • HTTPS only (HSTS enabled, TLS 1.3 minimum)
  • Content Security Policy (CSP) prevents XSS on login page
  • X-Frame-Options: DENY (prevents clickjacking)
  • Referrer-Policy: no-referrer (prevents credential leakage in referrer)

Functional Security:

  • Rate limiting implemented (per IP, per user, per session)
  • Account lockout implemented (temporary, not permanent)
  • CAPTCHA after failed attempts (reCAPTCHA v3 or hCaptcha)
  • Log every attempt (success and failure)
  • Display last login time to user (helps detect unauthorized access)
  • "Forgot password" link does not confirm if username exists
  • Password reset requires MFA verification (not just email)
  • New device login notification sent to user
  • Impossible travel detection (login from India, then 1 hour later from US)

Error Message Matrix

Scenario❌ Bad Message (Information Leakage)✅ Good Message (Generic)Why
User doesn't exist"User not found" or "Username does not exist""Invalid username or password"Confirms username is invalid, attacker can enumerate valid users
Wrong password"Incorrect password for user X""Invalid username or password"Confirms username is valid, attacker now knows the user exists
Account locked"Account locked after 5 attempts""Authentication failed. Contact support if issues persist."Reveals account status and lockout threshold
MFA wrong"Incorrect TOTP code" or "MFA failed""Authentication failed"Reveals that MFA is enabled and which type
Account disabled"Account disabled""Authentication failed"Reveals account status
MFA not enrolled"MFA not set up for this account""Authentication failed"Reveals MFA enrollment status
Account expired"Account expired on 2024-01-01""Authentication failed"Reveals account lifecycle
IP blocked"Your IP is blocked""Authentication failed"Reveals security controls

Rate Limiting Configuration

Progressive Delay:

Attempt 1-3:   No delay
Attempt 4-5:   5-second delay
Attempt 6-8:   30-second delay
Attempt 9-10:  5-minute lockout
Attempt 11+:   15-minute lockout + alert security team

IP-Based Throttling:

Per IP: Max 10 attempts per minute
Per IP: Max 50 attempts per hour
Per IP: Max 200 attempts per day
Exceeding → Block IP for 1 hour + alert SOC

User-Based Throttling:

Per user: Max 5 attempts per 15 minutes
Per user: Max 20 attempts per hour
Exceeding → Lock account for 30 minutes + require MFA reset

Session Management

Session Security Parameters by Risk Level

ParameterLow RiskMedium RiskHigh RiskCritical
Idle timeout8 hours2 hours30 minutes15 minutes
Maximum session duration24 hours12 hours8 hours4 hours
Concurrent sessionsUnlimited3 per user2 per user1 per user
Re-auth for sensitive opsNot requiredRequired (password)Required + MFARequired + hardware key
Session fixation protectionBasicStandardStrictStrict
Logout invalidationToken expires naturallyToken blacklistedToken + cookie invalidatedImmediate + audit log + alert
Session bindingNoneIP addressIP + device fingerprintIP + device + certificate

Session Token Security Best Practices

Best PracticeImplementationWhy
Cryptographically randomUse crypto.randomBytes(32) or equivalentPrevents predictable session IDs
HttpOnly cookieSet-Cookie: session=abc123; HttpOnly; Secure; SameSite=StrictPrevents XSS theft
Secure flagHTTPS onlyPrevents transmission over HTTP
SameSiteSameSite=Strict for sensitive apps, Lax for generalPrevents CSRF attacks
Short-livedAccess token: 15 minutes, Refresh token: 8 hoursLimits window of compromise
BindingBind to IP + device fingerprint (optional but recommended)Prevents session hijacking
Server-side storageStore session in Redis/database, not just client JWTEnables immediate revocation
Invalidation on logoutDelete server-side session, blacklist tokenPrevents post-logout abuse
RotationRotate session ID after privilege escalation (login → admin)Prevents session fixation
RegenerationRegenerate session ID after login (prevent fixation)Prevents session fixation attacks

JWT Best Practices

DoDon'tWhy
Use RS256 or ES256 (asymmetric)Use HS256 with shared secretAsymmetric prevents secret leakage
Set short expiration (15 min)Use long-lived JWTs (hours/days)Short expiry limits abuse window
Include exp, nbf, iss, aud claimsSkip claim validationClaims enable strict validation
Store refresh tokens securelyStore refresh token in localStoragelocalStorage is accessible to XSS
Use refresh token rotationReuse the same refresh tokenRotation detects token theft
Validate signature on every requestTrust client-side validationServer must always verify
Use separate access and refresh tokensSingle token for everythingSeparation enables different lifetimes
Include minimal claims in JWTInclude sensitive data in JWTJWT is base64-encoded, not encrypted
Use JWT only for stateless APIsUse JWT for session managementServer-side sessions are more secure

Session Management Implementation Checklist

  • Idle timeout configured (15 minutes for high-risk, 30 minutes for medium)
  • Maximum session duration configured (4 hours for critical, 8 hours for high)
  • Concurrent session limit enforced (1 for critical, 2 for high)
  • Session regeneration after login (prevent fixation)
  • Session rotation after privilege escalation
  • Secure cookie attributes (HttpOnly, Secure, SameSite)
  • Server-side session storage (Redis, database)
  • Session invalidation on logout (not just cookie deletion)
  • Session blacklist for revoked tokens
  • Re-authentication for sensitive operations (password change, admin actions)
  • Session anomaly detection (new device, impossible travel)
  • Session audit logging (creation, termination, privilege changes)

Brute Force & Attack Protection

Attack Patterns and Defenses

AttackHow It WorksDefenseDetection
Brute forceTry every possible password systematicallyRate limiting, account lockout, CAPTCHASIEM: 10+ failed logins from same IP
Credential stuffingUse leaked credentials from other breachesBreach detection, password blocklists, MFASIEM: 50+ failed logins with different usernames
Password sprayingTry common passwords against many accountsRate limiting per IP, anomaly detectionSIEM: Same password tried across multiple accounts
MFA bombingFlood user with push notifications until acceptedNumber matching, push limits, geofencingSIEM: 5+ push notifications in 1 minute
SIM swappingHijack phone number for SMS OTPBan SMS, use app-based/hardware MFASIEM: MFA method changed from app to SMS
PhishingFake login page steals credentialsFIDO2/WebAuthn, URL validation, user trainingSIEM: Successful login from known phishing IP
Man-in-the-middleIntercept authentication trafficmTLS, certificate pinning, HSTSSIEM: Certificate mismatch, unusual TLS version
Session hijackingSteal session tokenHttpOnly, Secure, SameSite, IP bindingSIEM: Session used from new IP
Pass-the-hashUse stolen password hash to authenticateNTLM disabled, Credential Guard, Kerberos onlySIEM: NTLM authentication detected
KerberoastingCrack service account Kerberos ticketsStrong service account passwords (30+ chars), Managed Service AccountsSIEM: TGS request for service account
Golden ticketForge Kerberos TGTKRBTGT password rotation (2x), ATA monitoringSIEM: Unusual TGT usage
AS-REP RoastingCrack accounts without pre-authenticationEnable pre-authentication on all accountsSIEM: AS-REQ without pre-auth
Password hash synchronizationExploit password hash syncMonitor sync events, alert on anomaliesSIEM: Unexpected hash sync
NTLM relayRelay authentication to another serverDisable NTLM, enable SMB signing, EPASIEM: NTLM relay attempt

Advanced Brute Force Protection

Progressive Response System:

Failed Attempts → Response
─────────────────────────────────────────────────
1-3            → Normal login (no delay)
4-5            → Add 5-second artificial delay
6-8            → Add 30-second delay + CAPTCHA
9-10           → 5-minute lockout + email notification
11-15          → 15-minute lockout + SMS alert to user
16-20          → 1-hour lockout + SOC alert + IP block
21+            → 24-hour lockout + SOC investigation + IP block + account review

Geographic-Based Protection:

ScenarioAction
Login from country with no employeesBlock + require hardware key + manager approval
Login from high-risk country (per OFAC/UN list)Block + SOC alert
Login from VPN/Tor exit nodeBlock + require corporate VPN + alert
Login from known botnet IPBlock + blackhole IP
First login from new countryRequire additional MFA + email confirmation

Time-Based Protection:

ScenarioAction
Admin login outside 6 AM–10 PM local timeRequire hardware key + manager notification
Service account login outside maintenance windowBlock + SOC alert
Multiple logins at 3 AM from different usersAlert SOC (possible automated attack)
Login on weekend for first timeRequire additional verification

Authentication Logging & Monitoring

What to Log (Complete Event List)

EventFields to LogRetentionSIEM Alert?
Successful loginTimestamp, user ID, IP, user agent, location, device, MFA method, application1 yearNo (unless admin)
Failed loginTimestamp, username attempted, IP, user agent, failure reason, failure count, application1 yearYes (if >5 in 5 min)
MFA challenge initiatedTimestamp, user ID, IP, MFA method1 yearNo
MFA challenge succeededTimestamp, user ID, IP, MFA method, device1 yearNo
MFA challenge failedTimestamp, user ID, IP, MFA method, failure reason, count1 yearYes (if >3 in 5 min)
Password changeTimestamp, user ID, IP, method (self-service vs admin reset), previous password age1 yearYes (if admin reset)
Password reset requestedTimestamp, user ID, IP, method (email vs SMS), success/failure1 yearYes
Account lockoutTimestamp, user ID, IP, failure count, unlock time, lockout reason1 yearYes
Account unlockTimestamp, user ID, method (auto vs admin), admin ID (if applicable)1 yearYes (if admin unlock)
Session createdTimestamp, user ID, session ID, IP, device, application1 yearNo
Session terminatedTimestamp, user ID, session ID, reason (logout/timeout/admin/killed)1 yearNo (unless admin kill)
Session timeoutTimestamp, user ID, session ID, idle duration1 yearNo
Privilege escalationTimestamp, user ID, from role, to role, admin who approved, ticket reference1 yearYes (always)
Privilege de-escalationTimestamp, user ID, from role, to role, reason1 yearNo
Impossible travelTimestamp, user ID, location 1, location 2, time delta, distance1 yearYes (always)
New device detectedTimestamp, user ID, device fingerprint, device type, location, trust action1 yearYes
New location detectedTimestamp, user ID, location, IP, previous location, trust action1 yearYes (if not nearby)
Service account authenticationTimestamp, service account, source IP, destination, action, caller application1 yearYes (if unusual)
Service account anomalyTimestamp, service account, anomaly type, details1 yearYes (always)
Break-glass accessTimestamp, account, reason, approver, duration, actions taken1 yearYes (always)
Break-glass terminationTimestamp, account, reason, admin who terminated1 yearYes (always)
SSO token issuedTimestamp, user ID, IdP, SP, token type, expiry1 yearNo
SSO token validatedTimestamp, user ID, SP, validation result1 yearNo
SSO token revokedTimestamp, user ID, reason, admin who revoked1 yearYes
Certificate authenticationTimestamp, subject, issuer, serial, validation result, application1 yearNo
Certificate near expiryTimestamp, subject, days remaining, application1 yearYes (if <30 days)
API key usedTimestamp, key ID (masked), IP, endpoint, method, response code1 yearNo (unless anomaly)
API key authentication failedTimestamp, key ID (masked), IP, endpoint, failure reason1 yearYes

SIEM Alert Rules for Authentication

Alert NameTriggerSeverityResponseSLA
Brute force detected10 failed logins from same IP in 5 minutes🔴 HighBlock IP, alert SOC, notify account owners5 minutes
Account takeoverSuccessful login from new country + impossible travel🔴 CriticalLock account, force password reset, notify user, investigate15 minutes
MFA bypass attemptMFA failure followed by successful login (suspicious pattern)🔴 HighAlert SOC, investigate, consider account lock30 minutes
Privileged account loginAdmin/root login from non-admin workstation or non-office IP🟡 MediumAlert SOC, verify with admin manager1 hour
Off-hours admin accessAdmin login outside business hours ( configurable)🟡 MediumAlert manager, verify with admin1 hour
Dormant account activationLogin from account inactive >90 days🟡 MediumAlert manager, verify, review if account still needed2 hours
Credential stuffing50+ failed logins with different usernames from same IP🔴 HighBlock IP, check for breach, force password resets for targeted accounts15 minutes
Service account anomalyService account used from human workstation or unusual IP🔴 HighAlert SOC, investigate, consider rotation30 minutes
Multiple concurrent sessionsSame user, 5+ active sessions simultaneously🟡 MediumAlert user, verify, consider session kill2 hours
Password spray detected20+ usernames with same password from same IP🔴 HighBlock IP, alert SOC, force password resets15 minutes
New admin account createdAny new admin/root account created🔴 HighAlert SOC, verify with CISO, audit permissions15 minutes
Admin permission changedAny change to admin role/group membership🔴 HighAlert SOC, verify, audit trail15 minutes
Break-glass access usedAny break-glass account login🔴 CriticalAlert CISO, SOC, require immediate review5 minutes
Certificate expiryCertificate expires in <30 days🟡 MediumAlert owner, schedule renewal24 hours
Certificate authentication failureCertificate rejected (expired, revoked, untrusted)🟡 MediumAlert owner, investigate2 hours
Impossible travelLogin from 2 locations >500km apart within impossible time🔴 CriticalLock account, force password reset, investigate15 minutes
Suspicious API usageAPI key used from unusual IP or excessive calls🟡 MediumAlert owner, throttle or revoke key1 hour

Log Retention Requirements

SourceMinimum retentionNotes
ISO 27001Not specifiedSet by your risk assessment and legal duties
CERT-In Directions (2022)180 days, in IndiaApplies to all service providers, intermediaries, data centres and body corporates
DPDP Rules 2025At least one year for logs of personal data processingOnce the relevant Rules apply (phased to about May 2027)
PCI DSS v4.0.1 (10.5.1)12 monthsMost recent 3 months immediately available
SOC 2As set in your control descriptionMust support your commitments
RBI, SEBI, IRDAIAs their directions setCheck your sector's current direction
GDPR (EU)Not specifiedAdequate for investigation, no longer than necessary

Zero Trust Architecture for Authentication

Zero Trust Principles Applied to Authentication

PrincipleAuthentication ImplementationTraditional ApproachZero Trust Approach
Never trust, always verifyEvery access request is authenticated and authorized, regardless of sourceOnce inside VPN, free accessEvery request verified, every time
Assume breachDesign authentication to limit blast radius if credentials are stolenPerimeter defenseCompromised credentials don't mean compromised data
Least privilegeAuthenticate for minimum access needed, not maximumRole-based accessJust-in-time, time-bound, scoped access
Verify explicitlyUse multiple signals: identity, device health, location, behaviorSingle check at loginContinuous evaluation throughout session
Use least privilege accessJust-in-time (JIT) access, time-bound, approval-requiredStanding accessTemporary elevation for specific tasks

Zero Trust Authentication Stack

┌─────────────────────────────────────────────────────────────┐
│                    ACCESS REQUEST                            │
│         (User, Device, App, Location, Time)                  │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│  LAYER 1: IDENTITY VERIFICATION                              │
│  • Who? → User authentication (passwordless, MFA)           │
│  • What? → Device identity (certificate, TPM, compliance)   │
│  • How? → App health check (patch level, EDR status, AV)      │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│  LAYER 2: CONTEXTUAL EVALUATION                              │
│  • Where? → Location (geo, IP reputation, network)            │
│  • When? → Time (business hours, anomaly detection)           │
│  • Why? → Business justification (JIT, ticket reference)      │
│  • How? → Connection method (corporate VPN, public Wi-Fi)    │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│  LAYER 3: DYNAMIC AUTHORIZATION                              │
│  • Risk score calculated (0-100)                             │
│  • If risk > 80: Block + alert + notify manager                │
│  • If risk 50-80: Step-up MFA (additional factor)            │
│  • If risk 20-50: Grant access with standard session         │
│  • If risk < 20: Grant access with extended session          │
│  • If risk < 10: Grant access with elevated privileges (JIT) │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│  LAYER 4: CONTINUOUS VALIDATION                              │
│  • Monitor behavior during session                           │
│  • Re-evaluate if risk signals change                        │
│  • Terminate session if anomaly detected                     │
│  • Require re-authentication for sensitive operations       │
│  • Revoke access if device falls out of compliance            │
└─────────────────────────────────────────────────────────────┘

Conditional Access Policies (Example)

ConditionPolicyActionUse Case
Location = Trusted officeRequire MFA (TOTP)GrantStandard office work
Location = Home (known IP)Require MFA (push)GrantRemote work
Location = New countryRequire MFA (hardware key) + manager approvalGrant with step-upBusiness travel
Location = High-risk countryBlockDenyGeopolitical risk
Location = Tor exit nodeBlockDenyAnonymized traffic
Device = Managed + CompliantRequire MFA (TOTP)GrantCorporate laptop
Device = UnmanagedRequire MFA + device registrationGrant with restrictionsPersonal device
Device = Non-compliant (no EDR)BlockDenySecurity hygiene
Device = No AVBlockDenyMalware risk
Time = Business hoursStandard MFAGrantNormal operations
Time = Outside business hoursRequire MFA + manager notificationGrant with step-upAfter-hours access
Time = Weekend (first time)Require additional verificationGrant with step-upUnusual pattern
Risk score > 80Block + force password resetDenyHigh risk
Risk score 50-80Step-up MFAGrant with step-upElevated risk
Risk score < 20Standard accessGrantLow risk
Admin role + any locationRequire hardware keyGrantAdmin protection
Admin role + new locationRequire hardware key + manager approvalGrant with step-upAdmin travel
First login from new deviceRequire email verification + MFAGrant with step-upNew device
Impossible travel detectedBlock + force password resetDenyAccount compromise
Credential leaked (dark web)Block + force password resetDenyProactive protection

Zero Trust Implementation Checklist

  • Identity Provider supports conditional access (Azure AD, Okta, Ping)
  • Device management platform deployed (Intune, Jamf, Omnissa Workspace ONE (formerly VMware))
  • Device compliance policies defined (patch level, AV, EDR, encryption)
  • Location policies defined (trusted IPs, blocked countries, geofencing)
  • Risk scoring engine configured (Azure AD Identity Protection, Okta Risk Engine)
  • Behavioral analytics deployed (UEBA, Splunk, Exabeam)
  • Just-in-time access implemented for privileged roles
  • Continuous access evaluation enabled (CAE in Azure AD)
  • Session termination on risk signal change
  • Integration with SIEM for unified visibility
  • Integration with SOAR for automated response
  • User training on Zero Trust principles (why it matters, how it works)

Cloud-Native Authentication (AWS, Azure, GCP)

AWS Authentication

ServiceAuthentication MethodBest PracticeAnti-Pattern
AWS ConsoleIAM Identity Center (SSO) + MFAFederate with corporate IdP, hardware key for adminLong-term IAM user with password
AWS CLISSO login + temporary credentialsaws sso login, no long-term access keysHardcoded access keys in scripts
AWS SDKSSO or IAM RoleUse default credential chainHardcoded access keys in code
EC2 instancesIAM RolesInstance profile, no embedded credentialsHardcoded keys in user data
LambdaIAM RoleExecution role with least privilegeOver-permissioned execution role
EKSIAM Roles for Service Accounts (IRSA)Pod-level IAM, no node-level permissionsNode IAM role with broad permissions
ECSTask IAM RoleTask-level IAMEC2 instance role for all tasks
RDSIAM Database AuthenticationNo database passwords, IAM auth tokenMaster password in connection string
S3IAM Policy + Bucket PolicyPrinciple of least privilege, block public accesss3:* permissions, public bucket
DynamoDBIAM PolicyFine-grained access controlFull table access for all apps
API GatewayIAM + Cognito + Lambda authorizerMulti-layer authNo auth on internal APIs
Secrets ManagerIAM + encryptionAutomatic rotationManual rotation, hardcoded secrets

AWS Anti-Patterns:

  • ❌ Long-term IAM access keys for users (use IAM Identity Center)
  • ❌ Root account used for daily operations (lock away, MFA only)
  • ❌ IAM users with passwords (use IAM Identity Center instead)
  • ❌ Hardcoded AWS credentials in applications or GitHub
  • ❌ S3 bucket public access enabled (block all public access by default)
  • ❌ IAM policies with * (Resource: *, Action: s3:*)
  • ❌ IAM role trust policy with * principal

AWS Authentication Best Practices:

  1. Use IAM Identity Center (SSO) for all human access
  2. Use IAM Roles for all service-to-service access
  3. Use IRSA for EKS pod access
  4. Use IAM Database Auth for RDS
  5. Enable MFA on root account (hardware key)
  6. No long-term access keys for users (use SSO)
  7. Rotate access keys every 90 days (if unavoidable)
  8. Use AWS Secrets Manager with automatic rotation
  9. Enable CloudTrail for all authentication events
  10. Use AWS Config to audit IAM policies

Azure Authentication

ServiceAuthentication MethodBest PracticeAnti-Pattern
Azure PortalEntra ID + MFAConditional Access, hardware key for Global AdminGlobal Admin without MFA
Azure CLIaz login (interactive) or Service PrincipalNo passwords in scriptsService principal with password
Azure VMsManaged IdentitySystem-assigned or user-assigned identityHardcoded credentials in VM
AKSAzure AD + Managed IdentityPod-level identity, no service principal secretsService principal secret in Kubernetes secret
Azure SQLEntra ID AuthenticationNo SQL logins, use Entra IDSQL login with password
Azure FunctionsManaged IdentitySystem-assigned identityHardcoded connection strings
Azure StorageEntra ID + RBACNo shared keys, use RBACStorage account key in code
Azure Key VaultEntra ID + RBACPrinciple of least privilegeOwner role for applications
Azure DevOpsEntra ID + MFAConditional access, scoped PATsFull-scope PATs, no expiration

Azure Anti-Patterns:

  • ❌ Service Principal with password (use certificate or managed identity)
  • ❌ Global Admin without MFA (enable MFA on all privileged roles)
  • ❌ Subscription-level access for apps (use resource-level RBAC)
  • ❌ Shared access signatures (SAS) with long expiry (use user delegation)
  • ❌ Storage account key in application code (use Entra ID RBAC)
  • ❌ SQL login with password (use Entra ID authentication)
  • ❌ Local admin account on VMs (use Entra ID or LAPS)

Azure Authentication Best Practices:

  1. Use Entra ID for all human authentication
  2. Use Managed Identities for all service-to-service auth
  3. Use Azure AD Workload Identity for AKS
  4. Use Entra ID authentication for Azure SQL
  5. Enable MFA on all privileged roles (Global Admin, Privileged Role Admin)
  6. Use Conditional Access for risk-based policies
  7. Use Privileged Identity Management (PIM) for just-in-time admin access
  8. Enable continuous access evaluation (CAE)
  9. Use Azure Policy to enforce authentication standards
  10. Forward all Entra ID logs to Azure Monitor/Sentinel

Google Cloud Authentication

ServiceAuthentication MethodBest PracticeAnti-Pattern
GCP ConsoleCloud Identity + MFAWorkspace integration, hardware key for super adminSuper admin without MFA
gcloud CLIgcloud auth login or service account impersonationNo service account keys in user accountsDownloaded service account key
GCE VMsService AccountAttach to VM, no key filesService account key on VM disk
GKEWorkload IdentityPod-level IAM, no service account keysService account key in Kubernetes secret
Cloud FunctionsService AccountDefault service account with least privilegeOver-permissioned service account
Cloud SQLIAM AuthenticationNo database passwordsMaster password in connection string
Cloud StorageIAM + ACLUniform bucket-level access, no allUsersallUsers or allAuthenticatedUsers
BigQueryIAM + RBACDataset-level permissionsProject-level Owner for all apps
Cloud RunService AccountPer-service identityDefault service account with broad permissions

GCP Anti-Patterns:

  • ❌ Service account keys downloaded to local machines (use workload identity)
  • ❌ Default service account used without restrictions (create custom service accounts)
  • ❌ allUsers or allAuthenticatedUsers on buckets (use IAM)
  • ❌ Project-level Owner role for apps (use fine-grained IAM)
  • ❌ Service account key in source code or Git (use secret manager)
  • ❌ Cloud SQL with password auth (use IAM authentication)

GCP Authentication Best Practices:

  1. Use Cloud Identity for all human authentication
  2. Use service account impersonation for CLI access (no key files)
  3. Use Workload Identity for GKE
  4. Use IAM authentication for Cloud SQL
  5. Enable MFA on all privileged accounts (Super Admin, Org Admin)
  6. Use VPC Service Controls for perimeter security
  7. Use Access Transparency for audit logging
  8. Use Policy Analyzer for access reviews
  9. Enable Cloud Audit Logs for all authentication events
  10. Use Secret Manager for all secrets (no hardcoded credentials)

Kubernetes & Container Authentication

Kubernetes Authentication Methods

MethodUse CaseSecurity LevelImplementationNotes
X.509 Client CertificatesAdmin access to API server⭐⭐⭐Certificate-based, requires careful managementRotate frequently, short expiry
Bearer TokensService accounts, users⭐⭐⭐Short-lived preferred, bound tokensTokenRequest API
OpenID Connect (OIDC)Enterprise integration⭐⭐⭐⭐Best for production, integrate with corporate IdPUse with kube-oidc-proxy
Webhook Token AuthenticationCustom auth providers⭐⭐⭐⭐Flexible, integrate with existing auth systemsRequires webhook server
Service Account TokensPod-to-API server⭐⭐Bound tokens preferred (TokenRequest API)Default tokens are long-lived
Certificate Signing RequestsDynamic cert issuance⭐⭐⭐⭐Automated, short-livedUse cert-manager
Bootstrap TokensNode bootstrapping⭐⭐⭐Short-lived, used for kubelet registrationAuto-expire

Kubernetes Authentication Best Practices

  • Enable OIDC authentication (integrate with corporate IdP, Okta, Azure AD, Google)
  • Disable anonymous auth (--anonymous-auth=false on API server)
  • Disable basic auth (--basic-auth-file removed from API server)
  • Use short-lived service account tokens (TokenRequest API, bound to pod)
  • Rotate service account tokens regularly (automated)
  • Use Pod Security Standards (PSS) to restrict token mounts
  • Enable audit logging for all API server requests (who did what, when)
  • Use RBAC with least privilege (not cluster-admin for apps)
  • Enable admission controllers (PodSecurity, NodeRestriction, LimitRanger)
  • Use cert-manager for automated certificate rotation
  • Enable API server encryption at rest for secrets
  • Use network policies to restrict API server access
  • Monitor for unauthorized API server access attempts

Workload Identity

PlatformWorkload IdentityHow It WorksBenefit
AWS EKSIAM Roles for Service Accounts (IRSA)Pod assumes IAM role via OIDCNo AWS credentials in pods
Azure AKSAzure AD Workload IdentityPod assumes Azure AD identityNo service principal secrets
GCP GKEWorkload IdentityPod assumes GCP service accountNo service account keys
Self-hostedSPIFFE/SPIREUniversal workload identity frameworkCross-platform, cloud-agnostic
RancherSPIFFE/SPIRE or customDepends on integrationFlexible

Benefit: No credentials in pods. Identity is assigned by the platform and verified cryptographically. Even if the pod is compromised, the attacker cannot extract credentials.

Implementation Example (AWS EKS + IRSA):

apiVersion: v1
kind: ServiceAccount
metadata:
  name: my-app
  namespace: production
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::123456789:role/my-app-role
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  template:
    spec:
      serviceAccountName: my-app
      containers:
      - name: my-app
        image: my-app:latest

The pod automatically receives temporary AWS credentials via the IAM role. No hardcoded credentials.


AI/ML & API Authentication

AI/ML System Authentication Patterns

AI/ML systems have unique authentication requirements because they often involve multiple components (training, serving, data, model registry) with different risk profiles.

ComponentAuthenticationRisk LevelSpecial Consideration
Model serving API (REST/gRPC)OAuth 2.0 + mTLS🔴 HighModel weights are IP, protect inference endpoints
Training data accessIAM + RBAC🔴 HighTraining data may contain PII, strict access control
Model registryOIDC + RBAC🟡 MediumVersion control for models, integrity matters
Experiment trackingSSO + API key🟡 MediumResearch data, confidentiality depends on content
GPU cluster accessKerberos + LDAP🔴 HighCompute resources are expensive, prevent unauthorized use
Inference endpointAPI key + rate limiting🟡 MediumCustomer-facing, availability and performance
Vector databaseIAM + network policies🟡 MediumEmbeddings may contain sensitive semantic data
Feature storeOAuth 2.0 + RBAC🟡 MediumFeature data, may be sensitive
ML pipeline (CI/CD for ML)Service account + OIDC🔴 HighAutomates model deployment, protect pipeline
Notebook environmentSSO + sandboxed🟡 MediumInteractive access, data exfiltration risk

API Authentication Best Practices

Best PracticeImplementationWhy
OAuth 2.0 for user-facing APIsAuthorization Code + PKCE for mobile/SPAsIndustry standard, secure, well-tested
Client Credentials for service-to-serviceShort-lived tokens (1 hour), rotated automaticallyNo long-lived secrets
mTLS for internal microservicesCertificate-based, no passwordsStrongest service-to-service auth
API Keys for low-risk internal APIsScoped to specific endpoints, rate-limited, rotatedSimple, but limited security
JWT for stateless APIsRS256, short expiry (15 min), include scopesStateless, scalable, but validate carefully
HMAC for webhooksSigned with shared secret, verify signatureIntegrity verification
Rate limitingPer API key, per user, per IPPrevents abuse and DoS
API versioning/v1/, /v2/ to allow auth changes independentlyBackward compatibility
No API keys in frontendUse backend-for-frontend (BFF) patternProtects keys from extraction
API gatewayCentralize auth, rate limiting, loggingSingle point of control
API documentationDocument auth requirements for every endpointDeveloper clarity
API key rotationAutomated rotation every 90 daysLimits exposure window
Scope enforcementAPI key/user only accesses authorized endpointsPrinciple of least privilege
Request signingSign requests with API key (AWS Signature V4 style)Integrity + replay protection

Industry-Specific Authentication Requirements

Healthcare (HIPAA / Indian Healthcare Regulations)

RequirementImplementationRegulatory Basis
Unique user identificationNo shared accounts, no generic "nurse" or "doctor" accountsHIPAA §164.312(a)(2)(i)
Emergency access (break-glass)Documented, logged, time-limited, post-incident reviewHIPAA §164.312(a)(2)(ii)
Automatic logoff15-minute idle timeout on workstationsHIPAA §164.312(a)(2)(iii)
EncryptionTLS 1.3 for all authentication trafficHIPAA §164.312(e)(2)(ii)
Audit logsAll access to ePHI logged, retained 6 yearsHIPAA §164.312(b)
Role-based accessRBAC aligned with job functionHIPAA §164.312(a)(1)
India-specificDigital Information Security in Healthcare Act (DISHA) complianceDISHA (draft)

Financial Services (PCI DSS v4.0.1 / RBI / SEBI)

RequirementImplementationRegulatory Basis
Strong authenticationMFA for all remote access to CDEPCI DSS v4.0.1 Req 8.2.3
Unique IDsNo shared accounts for system componentsPCI DSS v4.0.1 Req 8.4.2
Password complexity12 characters minimum, complexity requiredPCI DSS v4.0.1 Req 8.3.5
Rotation90 days for CDE access (PCI requirement, override NIST)PCI DSS v4.0.1 Req 8.3.6
Account lockout6 failed attempts, 30-minute lockoutPCI DSS v4.0.1 Req 8.3.4
Inactivity timeout15 minutesPCI DSS v4.0.1 Req 8.1.8
RBI (India)Additional factor of authentication for digital paymentsRBI Master Direction on Digital Payment Security Controls (2021); Authentication Mechanisms for Digital Payment Transactions Directions (2025)
SEBI (India)Strong authentication for trading systems, broker back-officeSEBI CSCRF (2024)
IRDAI (India)MFA for insurance portal access, customer data protectionIRDAI Cybersecurity Guidelines

SaaS / B2B

RequirementImplementationWhy
Customer SSOSAML 2.0 or OIDC for enterprise customersEnterprise customers demand SSO
MFA for adminsRequired for all admin dashboard accessProtect customer data
API authenticationOAuth 2.0 + scoped API keysDeveloper access, integration partners
Customer data accessRole-based, customer-scoped (tenant isolation)Multi-tenant security
Audit trailCustomer-visible audit log of admin actionsTransparency, trust
Passwordless optionOffer passkeys for customer accountsBetter UX, competitive advantage
Session managementShort sessions for customer accounts, configurableBalance security and convenience

Government / Defense (India / International)

RequirementImplementationRegulatory Basis
FIDO2 / PIV / CACSmart card or hardware token requiredNIST SP 800-63-3, IAF
No password-onlyPassword + hardware token minimumGovernment security standards
No SMSSMS banned, app-based or hardware onlyGovernment security standards
Continuous evaluationRe-authenticate on risk signal changeZero Trust mandate
FIPS 140-2All cryptographic modules FIPS-validatedGovernment procurement
India-specificSTQC-certified tokens for government systemsIndia Government IT Act
Air-gapped adminAdmin accounts for air-gapped systems, no cloud syncDefense requirements
Biometric + smart cardTwo-factor for classified systemsDefense in depth

Manufacturing / OT (Operational Technology)

RequirementImplementationWhy
Air-gapped adminAdmin accounts for OT systems, no internet connectivityOT/IT separation
Physical authenticationSmart card + biometric for critical control systemsPhysical access control
No remote access defaultRemote access only via jump box, MFA, session recordingOT security
Vendor accessTime-limited, monitored, scoped accountsThird-party risk
Legacy protocol protectionWrap legacy protocols (Modbus, DNP3) with TLS + cert authProtocol security
No shared vendor accountsUnique account per vendor engineerAccountability

Authentication Tool Comparison

Enterprise Identity Providers (IdP)

FeatureOktaMicrosoft Entra IDPing IdentityGoogle WorkspaceAuth0
SSO protocolsSAML, OIDC, WS-Fed, LDAPSAML, OIDC, WS-Fed, LDAPSAML, OIDC, WS-Fed, LDAPSAML, OIDCSAML, OIDC
MFA methodsFIDO2, TOTP, push, SMS, biometrics, WebAuthnFIDO2, TOTP, push, SMS, MS Authenticator, Windows HelloFIDO2, TOTP, push, SMS, hardwareFIDO2, TOTP, push, SMSFIDO2, TOTP, push, SMS
Passwordless✅ Yes (Okta FastPass)✅ Yes (Windows Hello, FIDO2)✅ Yes✅ Yes✅ Yes
Conditional access✅ Advanced (Okta Identity Engine)✅ Advanced (Conditional Access)✅ Advanced✅ Basic✅ Advanced (Auth0 Actions)
Lifecycle mgmt✅ (Okta Workflows, SCIM)✅ (Entra ID Governance, SCIM)✅ (SCIM)✅ (Google Cloud IAM)✅ (Actions, SCIM)
Risk engine✅ (Okta Risk Engine)✅ (Identity Protection)✅ (Ping Risk)⚠️ Basic✅ (Auth0 Anomaly Detection)
Best forGrowing companies, multi-cloud, best UXMicrosoft shops, enterprise, bundledFinancial, regulated, legacyGoogle shops, startups, educationDevelopers, custom apps, API auth
India presence✅ Cloud, no local DC✅ Azure India DCs✅ Partners✅ Cloud✅ Cloud

Password Managers (Enterprise)

Feature1PasswordBitwardenDashlaneKeeperLastPass
SSO integration✅ Okta, Azure AD, Google, all major✅ All major IdPs✅ Okta, Azure AD✅ All major IdPs✅ All major IdPs
SCIM provisioning✅✅✅✅✅
Secrets automation✅ (1Password CLI, Secrets Automation)✅ (Bitwarden Secrets Manager)✅✅ (Keeper Commander)✅ (LastPass CLI)
Self-host option❌ Cloud only✅ (Enterprise on-prem)❌ Cloud only✅ (On-prem, GovCloud)❌ Cloud only
Passwordless support✅ (Passkey storage)✅✅✅✅
Best forEase of use, families, great UXCost-conscious, open-source, self-hostCompliance, reporting, DLPHigh-security, government, regulatedGeneral business, broad adoption
Security modelSecret Key + Master PasswordMaster PasswordMaster PasswordMaster PasswordMaster Password

Secrets Management

FeatureHashiCorp VaultAWS Secrets ManagerAzure Key VaultGCP Secret ManagerDoppler
Dynamic secrets✅ (database, cloud, PKI)✅ (RDS, Redshift)❌ Static only❌ Static only❌ Static only
Rotation✅ Automatic (database, cloud)✅ Automatic (RDS, Lambda)✅ Manual/scheduled✅ Automatic✅ Automatic
K8s integration✅ (CSI driver, injector)✅ (CSI driver)✅ (CSI driver)✅ (CSI driver)✅ (Operator)
Multi-cloud✅❌ AWS only❌ Azure only❌ GCP only✅
Price modelLicense + infrastructurePer secret + API callPer operationPer operationPer user
Best forMulti-cloud, complex, enterpriseAWS-native, simpleAzure-native, certificate mgmtGCP-native, simpleDeveloper experience, easy setup
Open source✅ (MPL)❌❌❌❌

SIEM for Authentication Monitoring

FeatureSplunkMicrosoft SentinelIBM QRadarElastic SecurityChronicle
Authentication parsing✅ Excellent✅ Excellent (Entra ID native)✅ Good✅ Good✅ Good (Google)
UEBA✅ (Splunk UBA)✅ (Microsoft UEBA)✅ (QRadar UBA)✅ (Elastic ML)✅ (Mandiant)
Threat intel✅ (Splunk Enterprise Security)✅ (Microsoft TI)✅ (X-Force)✅ (Elastic TI)✅ (Mandiant, VirusTotal)
Best forEnterprise, complex correlationsMicrosoft shops, cloud-nativeEnterprise, regulatedCost-conscious, open sourceGoogle Cloud shops

Implementation Roadmap: 12 Weeks

WeekFocusKey ActivitiesDeliverableSuccess Criteria
1Policy & AssessmentBaseline current state, audit all authentication mechanisms, draft authentication standardAuthentication standard v1.0, Current state assessmentDocument complete, approved by CISO
2MFA, Admin CriticalEnable MFA on all admin accounts (AWS root, Azure Global Admin, Domain Admin, Google Super Admin), cloud consoles100% admin MFA coverageAll privileged accounts protected
3MFA, WorkforceRoll out MFA to all employees (TOTP/push), enable on all SaaS apps80% workforce MFA enrollmentMajority of workforce protected
4Password PolicyUpdate AD/Entra ID password policy, communicate to users, configure banned password listPolicy enforced, users notifiedNo weak passwords accepted
5SSO IntegrationConnect top 10 SaaS apps to IdP (Slack, Jira, Salesforce, GitHub, etc.)10 apps on SSOReduced password fatigue
6Service AccountsInventory all service accounts, enable unique credentials, vault storageService account inventory completeAll NHIs identified
7Secrets ManagementDeploy vault (HashiCorp/AWS/Azure), migrate first 20 secrets, configure rotationVault operationalSecrets no longer in code
8Session ManagementConfigure timeouts on all applications, implement secure log-on designAll apps have secure sessionsNo sessions open indefinitely
9Logging & MonitoringCentralize auth logs, create SIEM alerts, configure dashboardsSIEM alerts liveReal-time detection enabled
10Non-Human AuthImplement managed identities, certificate auth for APIs, IoT device certs50% NHIs on managed identityReduced credential risk
11AdvancedConditional access policies, passwordless pilot for 10 users, risk-based authConditional access policies liveRisk-based protection active
12Audit PrepGather evidence, mock audit, fix findings, document exceptionsAudit-readyZero critical findings

Week-by-Week Detailed Plan

Week 1: Policy & Assessment

  • Day 1–2: Audit all authentication mechanisms (inventory every system, every method)
  • Day 3–4: Draft authentication standard (policy document)
  • Day 5: Risk assessment, assign AAL to every system
  • Day 6–7: Stakeholder review and approval

Week 2: MFA, Admin Critical

  • Day 1: AWS root MFA (hardware key)
  • Day 2: Azure Global Admin MFA (hardware key)
  • Day 3: Google Super Admin MFA (hardware key)
  • Day 4: Domain Admin MFA (hardware key)
  • Day 5: Cloud console MFA (all admin accounts)
  • Day 6: VPN MFA (all admin accounts)
  • Day 7: Verification and documentation

Week 3: MFA, Workforce

  • Day 1–2: Roll out TOTP/push to all employees
  • Day 3–4: Enable MFA on SaaS apps (Slack, Jira, GitHub)
  • Day 5–6: Enforce MFA (block non-enrolled users)
  • Day 7: Report enrollment percentage

Week 4: Password Policy

  • Day 1–2: Update AD/Entra ID password policy
  • Day 3: Configure banned password list
  • Day 4: Communicate to users (email, Slack, town hall)
  • Day 5: Test policy (attempt weak passwords)
  • Day 6: Monitor help desk tickets
  • Day 7: Adjust based on feedback

Week 5–12: Continue per roadmap above.


Common Audit Failures & How to Fix Them

#FindingSeverityWhy It's WrongHow to FixTimelineEvidence Required
1No MFA on admin accounts🔴 MajorSingle factor for highest-risk accountsEnable hardware-key MFA immediately1 dayMFA configuration screenshot
2Shared admin accounts🔴 MajorNo accountability, can't audit who did whatCreate unique admin accounts per person1 weekAD/IdP account list showing unique accounts
3SMS as only MFA option🔴 MajorSIM-swapping vulnerabilityAdd TOTP/hardware key options, deprecate SMS2 weeksMFA method configuration showing alternatives
4No authentication policy🔴 MajorNo documented standard to audit againstDraft, approve, communicate, version-control2 weeksSigned policy document
5Default passwords on network equipment🔴 MajorKnown credentials, easily exploitedChange all defaults, document in vault, test1 weekConfiguration screenshots, vault records
6No session timeouts🟡 MinorSessions remain open indefinitelyConfigure idle timeout (30 min) and max session (8 hours)1 weekApp configuration screenshots
7Weak password policy🟡 Minor8 characters, complexity rules, 90-day rotationUpdate to 12+ chars, no rotation, breach detection1 weekAD/IdP policy screenshot, test results
8No authentication logging🟡 MinorCan't detect or investigate breachesConfigure logging on all auth systems, forward to SIEM2 weeksSIEM log sample, configuration screenshots
9Service accounts with passwords in code🔴 MajorCredentials in source control, easily leakedMove to vault, use managed identities, scan repos2 weeksVault configuration, Git scan results
10No break-glass procedure🟡 MinorCan't access systems if IdP failsDocument emergency access, test quarterly1 weekBreak-glass procedure document, test record
11MFA enrollment not enforced🟡 MinorUsers can skip MFA setupMake MFA mandatory, block non-enrolled users1 weekIdP enforcement configuration
12Legacy protocols enabled🟡 MinorNTLM, basic auth, LDAP without TLS bypass MFADisable legacy protocols, enable modern auth only2 weeksAD configuration, protocol scan results
13No risk-based authentication🟡 MinorSame auth for all systems regardless of riskImplement AAL levels, conditional access4 weeksAAL matrix, conditional access policies
14No password manager🟡 MinorUsers reuse passwords, weak passwordsDeploy enterprise password manager, train users2 weeksPassword manager deployment record
15No non-human auth controls🟡 MinorService accounts, APIs unprotectedInventory NHIs, implement vault, managed identities4 weeksNHI inventory, vault configuration
16Authentication logs not retained🟡 MinorCan't investigate historical incidentsConfigure 1-year retention, backup logs1 weekRetention policy, log sample
17No authentication monitoring🟡 MinorBreaches go undetectedDeploy SIEM alerts, UEBA, anomaly detection4 weeksSIEM alert configuration, dashboard
18No SSO🟡 MinorPassword fatigue, shadow ITImplement IdP, connect top 10 apps4 weeksSSO configuration, app integration list
19Certificate expiry not monitored🟡 MinorService outages, auth failuresDeploy cert-manager, monitoring alerts2 weeksCertificate inventory, monitoring alerts
20No authentication testing🟡 MinorUnknown vulnerabilitiesQuarterly penetration testing, automated scanningOngoingPentest report, scan results

Illustrative Scenarios: When Authentication Fails

Cases 1 to 4 summarise publicly reported incidents (facts as reported); the lessons are our analysis. Scenario 5 is hypothetical.

Case 1: The SolarWinds Orion Compromise (2020), Supply Chain + Authentication Bypass

What happened: Attackers inserted a backdoor into SolarWinds Orion software updates. When 18,000+ customers installed the update, the attackers gained access to their networks. They then used compromised SAML token signing keys to forge authentication tokens, accessing cloud resources without passwords or MFA.

Authentication failures:

  • SAML token signing keys were compromised (probably extracted from SolarWinds Orion itself)
  • No monitoring of anomalous SAML token usage (tokens used at unusual times, from unusual locations)
  • Trusted third-party software was implicitly trusted (no verification of what the software was doing)
  • No certificate pinning for critical integrations (if a key changed, no one noticed)
  • Over-reliance on SSO trust (once inside the SSO boundary, lateral movement was easy)

Lessons for A.8.5:

  • Monitor third-party authentication tokens (SAML/OIDC) for anomalies
  • Implement anomaly detection for token usage (unusual signing keys, unusual claims)
  • Don't trust third-party software implicitly, verify what it does, monitor its behavior
  • Use certificate pinning for critical integrations (alert if a key changes unexpectedly)
  • Implement continuous validation (don't trust the SSO token forever)
  • Separate admin accounts from SSO where possible (break-glass not dependent on SSO)

How to prevent this:

  1. Monitor SAML/OIDC token signing key usage (who signed what, when)
  2. Alert on new signing certificates without change control approval
  3. Implement token binding (bind token to specific IP/device)
  4. Use short-lived tokens (1 hour maximum, not 8+ hours)
  5. Monitor for unusual token claims (admin privileges in unexpected tokens)
  6. Separate cloud admin accounts from SSO (local accounts with MFA, not federated)

Case 2: The Twitter Bitcoin Scam (2020), Social Engineering + Weak Internal Auth

What happened: Attackers gained access to Twitter's internal admin tools through social engineering of employees (spear phishing). They then tweeted Bitcoin scam messages from high-profile accounts (Obama, Biden, Musk, Gates, Apple). The attack was visible to the entire world.

Authentication failures:

  • Internal admin tools had weak or no MFA ("internal only" is not a security boundary)
  • Social engineering bypassed authentication (employees were tricked into giving access)
  • Shared admin tools without proper access controls (one compromised account = full access)
  • No just-in-time access (admin tools had standing access, not time-bound)
  • No session monitoring (unusual usage patterns went undetected)

Lessons for A.8.5:

  • All internal tools must have MFA, even "internal only" (perimeter is dead)
  • Train employees on social engineering (A.6.3, awareness is part of authentication)
  • Implement just-in-time (JIT) admin access (only when needed, automatically revoked)
  • Admin tools should require step-up authentication (even if already logged in)
  • Implement session monitoring for admin tools (alert on unusual actions)
  • Separate admin functions from general access (different tools, different auth)

How to prevent this:

  1. MFA on every internal tool, no exceptions
  2. JIT admin access (request → approve → time-bound access → auto-revoke)
  3. Admin session recording (record what they did, not just that they logged in)
  4. Social engineering simulation (test employees quarterly, train failures)
  5. Admin access alerts (alert on unusual admin actions, even if authenticated)
  6. Principle of least privilege for admin accounts (no one admin can do everything)

Case 3: The Uber Breach (2022), MFA Fatigue Attack

What happened: A teenager bought stolen credentials for an Uber contractor from a dark web marketplace. Because the contractor had MFA enabled (push notifications), the attacker used MFA fatigue (bombarding the user with push notifications until they accepted one) to gain access. From there, the attacker accessed Uber's internal systems, including AWS, G Suite, Slack, and internal code repositories.

Authentication failures:

  • Push notification fatigue attack succeeded (user accepted after 10+ notifications)
  • No "number matching" or verification on MFA prompts (just "accept/deny")
  • Contractor had excessive access (not least privilege, could access everything)
  • No risk-based step-up (unusual location should have triggered additional verification)
  • No push notification limits (unlimited push notifications allowed)
  • No contextual information in push (user didn't see WHERE the login was from)

Lessons for A.8.5:

  • Use "number matching" MFA (user must enter number from login screen into app)
  • Limit push notifications (max 3 attempts, then lockout)
  • Implement risk-based step-up (unusual location = additional verification)
  • Apply least privilege to contractors and vendors (scope access tightly)
  • Show contextual information in push notifications (location, IP, device)
  • Train users on MFA fatigue attacks (never accept unexpected push notifications)
  • Consider hardware keys for high-risk accounts (no push to fatigue)

How to prevent this:

  1. Deploy number matching on all push notifications (Microsoft, Duo, Okta support this)
  2. Limit push notifications to 3 per login attempt
  3. Implement push notification cool-down (5-minute delay after 2 declines)
  4. Show location and device in push notification ("Login from Mumbai, India?")
  5. Use hardware keys for admin accounts (no push notifications to fatigue)
  6. Train all users on MFA fatigue (quarterly awareness training)
  7. Implement risk-based policies (new location = additional verification)

Case 4: The MGM Resorts Ransomware (2023), Social Engineering + MFA Bypass

Authentication failures:

  • Help desk could bypass MFA with a phone call (no verification process)
  • No out-of-band verification for MFA reset (just one phone call)
  • No verification of identity before MFA reset (no manager approval, no in-person)
  • No monitoring of MFA reset events (help desk actions went unlogged)
  • No separation of duties for MFA reset (help desk could do everything)
  • No time-bound access (once in, they stayed for days)

Lessons for A.8.5:

  • MFA reset requires out-of-band verification (manager approval, in-person, video call)
  • Help desk cannot bypass MFA without documented exception (and it should be rare)
  • Identity verification for MFA reset must be stronger than the original auth (can't be easier to reset than to authenticate)
  • Implement "MFA reset" as a formal change request with approval workflow
  • Log all MFA reset events (who reset, when, why, approved by whom)
  • Implement time-bound access (even after MFA reset, access expires)
  • Require video verification for MFA reset (show ID, confirm identity)

How to prevent this:

  1. MFA reset requires manager approval (out-of-band, not via the same help desk call)
  2. MFA reset requires video verification (employee shows ID, confirms identity)
  3. MFA reset triggers alert to user ("Your MFA was reset. If you didn't request this, call security.")
  4. Log all MFA reset events in SIEM (alert on unusual reset patterns)
  5. Implement separation of duties (help desk can reset MFA, but only security can approve access)
  6. Time-bound access after MFA reset (24-hour expiry, must re-verify)
  7. Require in-person verification for MFA reset (if possible) or video call with ID

Illustrative Scenario 5 (hypothetical): Fintech App, API Key Exposure

What happened: A fintech company had an API key hard-coded in their mobile application. A security researcher extracted the key, gaining access to customer transaction data, PII, and financial records affecting 2 million users. The API key had full read/write access to the production database.

Authentication failures:

  • API key hardcoded in mobile app source code (easily extracted via decompilation)
  • API key had full database access (no principle of least privilege)
  • API key was not rotated (same key for 2+ years)
  • No API key monitoring (no one noticed unusual usage)
  • No API rate limiting (researcher could download entire database)
  • No API key scoping (one key for everything, not per-endpoint)

Lessons for A.8.5:

  • Never hardcode API keys in client applications (mobile, frontend, desktop)
  • Use backend-for-frontend (BFF) pattern (client talks to your backend, backend talks to API)
  • API keys must be scoped (read-only, write-only, per-endpoint)
  • API keys must be rotated regularly (90 days maximum)
  • API keys must be monitored (alert on unusual usage)
  • API keys must be rate-limited (prevent bulk data extraction)
  • Use OAuth 2.0 + PKCE for mobile apps (no static API keys)

How to prevent this:

  1. No API keys in client applications (use BFF pattern or OAuth 2.0 + PKCE)
  2. Scope API keys to specific endpoints (not * access)
  3. Rotate API keys every 90 days (automated)
  4. Monitor API key usage (alert on unusual patterns)
  5. Rate limit API calls (per key, per user, per IP)
  6. Use OAuth 2.0 for mobile apps (short-lived tokens, no static keys)
  7. Implement API gateway (centralized auth, rate limiting, logging)
  8. Regular code scanning for API keys (GitHub secret scanning, truffleHog)

Metrics & KPIs

Figure · Measures

The measures that show A.8.5 is working

  • MFA enrollment rate100%Weekly
  • MFA usage rate>95%Weekly
  • Passwordless adoption>50%Monthly
  • Service account with managed identity>80%Monthly
  • Mean time to detect (MTTD) auth anomaly<5 minutesReal-time
Targets and reporting cadence as defined in the table below, where the formula for each is given.

Authentication Security Scorecard

MetricTargetFormulaHow to MeasureFrequencyOwner
MFA enrollment rate100%(Users with MFA / Total active users) × 100IdP dashboardWeeklyIAM Team
MFA usage rate>95%(Logins with MFA / Total logins) × 100IdP logs + SIEMWeeklyIAM Team
Passwordless adoption>50%(Users with passkeys / Total users) × 100IdP dashboardMonthlyIAM Team
Service account with managed identity>80%(Managed identity NHIs / Total NHIs) × 100Cloud inventoryMonthlyCloud Security
Mean time to detect (MTTD) auth anomaly<5 minutesSIEM alert time from event occurrenceSIEM metricsReal-timeSOC
Mean time to respond (MTTR) auth incident<30 minutesFrom alert to containmentIncident recordsPer incidentSOC
Failed login rate<1%(Failed logins / Total logins) × 100Authentication logsDailySOC
Brute force attempts blockedTrend downCount of blocked IPs per weekSIEM/SOCWeeklySOC
Password policy compliance100%(Compliant accounts / Total accounts) × 100AD/IdP policy scanMonthlyIAM Team
Session timeout compliance100%(Apps with proper timeouts / Total apps) × 100App configuration auditQuarterlyApp Security
Break-glass test success100%(Successful tests / Total tests) × 100Quarterly test recordQuarterlyIAM Team
Authentication audit findings0 majorCount of major findings in internal auditAudit reportQuarterlyInternal Audit
Password reuse rate<5%(Accounts with reused passwords / Total accounts) × 100Password manager scanQuarterlyIAM Team
Service account rotation compliance100%(Rotated accounts / Accounts requiring rotation) × 100Vault auditMonthlyCloud Security
SSO coverage>90%(Apps on SSO / Total apps) × 100Application inventoryQuarterlyIAM Team
Legacy protocol usage0Count of NTLM, basic auth, LDAP without TLS eventsAD logsWeeklyAD Team
Certificate expiry incidents0Count of expired certificate incidentsCertificate monitoringMonthlyPKI Team
Dark web credential exposure0Count of corporate credentials found on dark webDark web monitoringMonthlyThreat Intel
Authentication-related incidentsTrend downCount of incidents caused by auth failuresIncident recordsMonthlySOC

Sample Dashboard Layout

┌──────────────────────────────────────────────────────────────┐
│  AUTHENTICATION SECURITY DASHBOARD — June 2026                │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│  MFA Enrollment        97% ████████████████████████████░     │
│  Passwordless          34% ████████████░░░░░░░░░░░░░░░     │
│  Service Accounts (MI)  62% ████████████████░░░░░░░░░░      │
│  Failed Login Rate      0.3% █░░░░░░░░░░░░░░░░░░░░░░░░      │
│  SSO Coverage          85% █████████████████████░░░░░      │
│                                                              │
├──────────────────────────────────────────────────────────────┤
│  ACTIVE ALERTS (Last 24h)                                    │
│  🔴 2 Account takeover attempts (blocked)                     │
│  🟡 12 Impossible travel alerts (investigated)                │
│  🟡 3 Dormant account activations (verified)                  │
│  🟢 0 Brute force campaigns (blocked)                          │
│  🟢 0 Credential stuffing attempts (blocked)                   │
│                                                              │
├──────────────────────────────────────────────────────────────┤
│  TOP RISKS                                                   │
│  1. 15 admin accounts still on SMS MFA → migrate to TOTP     │
│  2. 8 legacy apps without MFA → conditional access planned  │
│  3. 23 service accounts with passwords in code → vault migration│
│  4. 3 certificates expire in <30 days → renewal in progress  │
│  5. 2 apps using basic auth → migration to OIDC planned      │
├──────────────────────────────────────────────────────────────┤
│  AUDIT READINESS                                             │
│  Policy: ✅ Current (v2.1, approved 2026-01-15)               │
│  MFA: ✅ 100% admin, 97% workforce                          │
│  Logging: ✅ 100% coverage, 1-year retention                 │
│  Exceptions: 4 documented, all with risk acceptance          │
│  Last audit: 0 major findings (2026-03-15)                    │
└──────────────────────────────────────────────────────────────┘

Multi-Framework Mapping

Control Mapping Matrix

ISO 27001:2022SOC 2 Type IIPCI DSS 4.0NIST 800-53 Rev 5DORACOBIT 2019CIS Controls v8
A.8.5CC6.1, CC6.28.3.1–8.3.6, 8.4.1–8.4.3, 8.5.1IA-2, IA-5, AC-7, AC-17, IA-4Art. 9(4)(d)BAI05.01, BAI06.01CIS 6.3, 6.4, 6.5, 6.6
A.5.15CC6.17.1.1, 7.2.1AC-2, AC-3Art. 9BAI06.01CIS 6.1, 6.2
A.5.16CC6.17.1.2, 8.2.1IA-2, IA-3, IA-4Art. 10BAI05.01CIS 6.1
A.5.17CC6.18.3.2, 8.3.6IA-5, SC-13Art. 9(4)(d)BAI06.01CIS 6.2
A.8.2CC6.27.2.1, 8.4.1AC-6Art. 9BAI06.01CIS 6.5
A.8.15CC7.210.2.1, 10.3.1AU-6, AU-12, AU-13Art. 13BAI08.01CIS 8.5, 8.6
A.8.16CC7.210.4.1, 10.5.1SI-4, AU-6, IR-4Art. 13DSS05.01CIS 8.7, 8.8
A.8.4CC6.27.1.2AC-2, AC-3Art. 9BAI06.01CIS 6.8
A.8.28CC8.16.2.4SA-3, SA-8, SA-15Art. 9BAI03.01CIS 16.11
A.8.29CC7.16.4.1CM-2, CM-4Art. 10BAI07.02CIS 16.12

SOC 2 Mapping Detail

  • CC6.1: Logical access controls (authentication, authorization, access provisioning)
  • CC6.2: Access removal (provisioning, deprovisioning, access reviews)
  • CC7.1: System operations (monitoring, change management)
  • CC7.2: System monitoring (security event detection, incident response)

PCI DSS v4.0.1 Mapping Detail

  • 8.2.3: Strong authentication for remote access to CDE
  • 8.3.4: Multi-factor authentication for remote access to CDE
  • 8.4.2: Unique IDs for system components
  • 8.3.5: Password complexity requirements
  • 8.3.6: Password rotation (90 days for CDE)
  • 8.1.8: Inactivity timeout (15 minutes)
  • 8.3.2: Strong cryptography for authentication

NIST 800-53 Rev 5 Mapping Detail

  • IA-2: Identification and authentication (organizational users)
  • IA-5: Authenticator management (passwords, tokens, certificates)
  • AC-7: Unsuccessful logon attempts (lockout, monitoring)
  • AC-17: Remote access (secure remote authentication)
  • IA-4: Identifier management (unique user IDs)
  • AC-6: Least privilege (access restriction)
  • AU-6: Audit review (log analysis)
  • AU-12: Audit generation (logging)
  • SI-4: Information system monitoring (anomaly detection)

DORA (Digital Operational Resilience Act) Mapping Detail

  • Art. 9(4)(d): strong authentication mechanisms as part of protection and prevention
  • Art. 9: Governance (access control policies)
  • Art. 10: ICT risk management framework
  • Art. 13: Incident management (authentication as part of detection)
  • Art. 15: Digital operational resilience testing

CIS Controls v8 Mapping Detail

  • CIS 6.1: Establish an access granting process
  • CIS 6.2: Establish an access revoking process
  • CIS 6.3: Require MFA for externally-exposed applications
  • CIS 6.4: Require MFA for remote network access
  • CIS 6.5: Require MFA for administrative access
  • CIS 6.6: Establish and maintain an inventory of authentication and authorization systems
  • CIS 6.7: Centralize access control
  • CIS 6.8: Define and maintain role-based access control
  • CIS 8.5: Collect detailed audit logs
  • CIS 8.6: Collect DNS query audit logs
  • CIS 8.7: Collect URL request audit logs
  • CIS 8.8: Collect command-line audit logs

Indian Regulatory Context

Digital Personal Data Protection Act (DPDP Act) 2023

DPDP Act ProvisionAuthentication ImplicationImplementation
Section 8(5), Reasonable security safeguardsAuthentication is a core safeguardMFA, strong passwords, session management
Section 8(6), Breach intimationCredential compromise leading to a breach must be intimatedAuthentication logs support detection and the report
Sections 11–14, Rights of Data PrincipalsPeople exercising rights must be identifiedProportionate identity verification before acting on requests
Section 9, Children's dataVerifiable parental consent and safeguardsVerify the parent or guardian as the Rules require
Section 33 and Schedule, PenaltiesUp to ₹250 crore for failing to take reasonable security safeguardsWeak authentication increases breach and penalty risk

Information Technology Act 2000 (as amended)

IT Act ProvisionAuthentication ImplicationImplementation
Section 43, Penalty for damage to computerUnauthorized access via credential theftStrong authentication prevents unauthorized access
Section 43A, Compensation for negligenceFailure to implement reasonable security practices (until DPDP s.44(2) commences)The SPDI Rules name ISO 27001 as one way to show reasonable security practices; it is evidence, not a guarantee
Section 66, HackingCredential theft, session hijackingAuthentication monitoring detects hacking
Section 66C, Identity theftStolen credentials used for fraudMFA prevents identity theft via stolen passwords
Section 67C, Preservation of information by intermediariesLets the Government prescribe retention for intermediariesFollow the CERT-In 180-day log rule and any sector rule
Section 69, InterceptionLawful interception capabilitiesAuthentication logs may be subject to lawful access

RBI (Reserve Bank of India) Guidelines

RBI GuidelineAuthentication RequirementImplementation
Master Direction on Digital Payment Security Controls (2021) and Authentication Mechanisms for Digital Payment Transactions Directions (2025)Additional factor of authentication for digital payments, with risk-based optionsFollow the current RBI directions for your payment channels
Cyber Security Framework for Banks (2016)Strong authentication for critical systems and privileged usersPhishing-resistant MFA for administrators; risk-based MFA for staff
Customer Protection in Digital PaymentsLiability based on authentication strengthStronger auth = reduced liability for bank
NPCI guidelinesUPI PIN and device binding for UPI transactionsFollow NPCI circulars for UPI participants
Mobile BankingDevice binding + PIN/biometricDevice certificate + biometric for mobile banking

SEBI (Securities and Exchange Board of India) Guidelines

SEBI GuidelineAuthentication RequirementImplementation
CSCRF (2024) (replaced earlier SEBI cyber circulars)MFA and strong authentication, scaled by entity categoryHardware keys for administrators of critical systems
KYC RequirementsDigital KYC with Aadhaar authenticationAadhaar OTP/eKYC for customer onboarding
Investor ProtectionSecure authentication for demat accountsTwo-factor for demat access (PIN + OTP)

IRDAI (Insurance Regulatory and Development Authority of India) Guidelines

IRDAI GuidelineAuthentication RequirementImplementation
Information and Cyber Security Guidelines (2023)MFA for portals and administrative accessMFA for customer portals; hardware keys for administrators
Data ProtectionStrong authentication for sensitive insurance dataAAL2 or AAL3 depending on sensitivity
TPA AccessAuthentication for third-party administrator accessScoped accounts, time-limited access, MFA

CERT-In Guidelines

CERT-In GuidelineAuthentication RequirementImplementation
Advisories and guidelinesMFA for remote and privileged access is recommended good practicePhishing-resistant MFA for administrators and remote access
Directions of 28 April 2022Report listed incidents within 6 hours; keep ICT logs 180 days in IndiaAuthentication logs retained and searchable
Vulnerability DisclosureSecure authentication for vulnerability reporting systemsScoped API keys, rate limiting

Maturity Model: Level 1 to Level 5

Authentication Security Maturity Assessment

LevelNameCharacteristicsMFA CoveragePassword PolicySession MgmtMonitoringTypical Organization
1Ad HocNo documented policy, reactive, no MFA<10%Weak (8 chars, complexity)NoneNo logsSmall startups, legacy orgs
2DevelopingBasic policy, MFA for some admins, weak passwords10–50%Basic (8 chars, rotation)Basic timeoutsBasic loggingGrowing SMBs, some enterprises
3DefinedDocumented policy, MFA for all admins, strong passwords50–80%Modern (12 chars, no rotation)Standard timeoutsCentralized logsMost enterprises
4ManagedMFA for all users, risk-based, SSO, session mgmt80–95%Advanced (15 chars, breach detection)Risk-based timeoutsSIEM + UEBAMature enterprises, fintech
5OptimizedPasswordless, Zero Trust, continuous validation, AI-driven95–100%Passwordless preferredContinuous validationAI-driven, predictiveTech leaders, hyperscalers

Level 1: Ad Hoc

Indicators:

  • No documented authentication policy
  • No MFA (or only on 1-2 systems)
  • Weak passwords (8 characters, complexity rules)
  • No session timeouts
  • No authentication logging
  • Shared accounts common
  • Default passwords on network equipment
  • No access reviews

Actions to reach Level 2:

  1. Draft authentication policy (1 week)
  2. Enable MFA on admin accounts (1 week)
  3. Implement password policy (12+ characters) (1 week)
  4. Configure basic session timeouts (1 week)
  5. Enable authentication logging (2 weeks)

Level 2: Developing

Indicators:

  • Basic authentication policy exists but not enforced
  • MFA for some admin accounts only
  • Passwords still weak but improving
  • Basic session timeouts on some systems
  • Logging exists but not centralized
  • Some access reviews but not regular

Actions to reach Level 3:

  1. Enforce MFA on all admin accounts (2 weeks)
  2. Update password policy to modern standards (12+ chars, no rotation) (1 week)
  3. Implement SSO for top 10 apps (4 weeks)
  4. Centralize authentication logs (4 weeks)
  5. Implement quarterly access reviews (2 weeks)

Level 3: Defined

Indicators:

  • Documented, enforced authentication policy
  • MFA for all admin accounts, some workforce
  • Modern password policy (12+ chars, no rotation, breach detection)
  • Standard session timeouts across all apps
  • Centralized logging with basic monitoring
  • Regular access reviews
  • Service accounts partially managed

Actions to reach Level 4:

  1. Enforce MFA for all users (4 weeks)
  2. Implement risk-based authentication (AAL levels) (4 weeks)
  3. Deploy SIEM with UEBA (8 weeks)
  4. Implement conditional access (4 weeks)
  5. Migrate service accounts to managed identities (8 weeks)

Level 4: Managed

Indicators:

  • MFA for all users (95%+)
  • Risk-based authentication implemented
  • SSO for 90%+ of applications
  • Advanced session management (risk-based timeouts)
  • SIEM with UEBA and anomaly detection
  • Automated access reviews
  • Service accounts fully managed
  • Conditional access policies active

Actions to reach Level 5:

  1. Pilot passwordless authentication (8 weeks)
  2. Implement Zero Trust architecture (12 weeks)
  3. Deploy continuous access evaluation (8 weeks)
  4. Implement AI-driven threat detection (12 weeks)
  5. Achieve 100% passwordless for standard users (12 weeks)

Level 5: Optimized

Indicators:

  • Passwordless for 80%+ of users
  • Zero Trust architecture fully implemented
  • Continuous validation (re-auth on risk signals)
  • AI-driven anomaly detection and response
  • Predictive risk scoring
  • Automated incident response
  • Full visibility into all authentication events
  • No standing privileges (everything JIT)

Benchmarking:

  • Compare with industry peers (Gartner, Forrester benchmarks)
  • Continuous improvement via threat intelligence
  • Regular red team exercises focused on authentication bypass
  • Participate in industry information sharing (ISACs)
  • Publish anonymized metrics (contribute to industry benchmarks)

RACI Matrix

Authentication Management RACI

ActivityCISOIT DirectorIAM ManagerSOC ManagerApp OwnersHRLegal
Authentication policyARRCCIC
MFA implementationARRCRII
Password policyARRCCII
SSO integrationARRCRII
Service account mgmtARRCRII
Secrets managementARRCRII
Session managementACRCRII
Authentication loggingACRRCII
SIEM alert tuningACCRIII
Access reviewsACRCRCI
Break-glass testingARRCIII
Audit evidenceARRRCIC
Incident responseACCRIIC
User trainingACRCIRI
Vendor managementARCIIIC
Tool procurementARRCCIC
Policy reviewARRCCIC
Risk acceptanceACRCRIC

Legend: A = Accountable (approves), R = Responsible (does the work), C = Consulted (provides input), I = Informed (kept updated)

Detailed Role Definitions

RoleResponsibilitiesKey Activities
CISOAccountable for authentication strategy, policy approval, risk acceptanceApprove policy, approve exceptions, report to board, own audit findings
IT DirectorResponsible for infrastructure implementation, budget, vendor managementDeploy IdP, manage infrastructure, negotiate contracts, resource allocation
IAM ManagerResponsible for day-to-day authentication operations, user provisioning, access reviewsManage IdP, configure MFA, handle access requests, run access reviews, troubleshoot
SOC ManagerResponsible for monitoring, incident response, SIEM tuningConfigure alerts, investigate incidents, tune detection rules, respond to breaches
App OwnersResponsible for application-level authentication implementationConfigure app auth, implement session management, integrate with SSO, test
HRConsulted on user onboarding/offboarding, trainingProvide termination dates, manage security awareness training, new hire onboarding
LegalConsulted on regulatory requirements, risk acceptanceReview policy for compliance, approve risk acceptance forms, handle regulatory inquiries

Documentation and Evidence Requirements

Required Documents for A.8.5

DocumentPurposeOwnerReview FrequencyRetention
Authentication StandardDefines organizational authentication policyCISOAnnual5 years
Password PolicySpecific password requirementsIAM ManagerAnnual5 years
MFA PolicyMFA enforcement rules and exceptionsIAM ManagerAnnual5 years
Session Management StandardTimeout and token requirementsApp Security LeadAnnual5 years
Service Account Management ProcedureHow NHIs are created, managed, retiredCloud Security LeadAnnual5 years
Break-Glass ProcedureEmergency access processIAM ManagerQuarterly5 years
Authentication Risk AssessmentSystem-by-system AAL mappingRisk ManagerAnnual5 years
Access Review ProcedureHow access reviews are conductedIAM ManagerAnnual5 years
Authentication Logging StandardWhat to log, retention, formatSOC ManagerAnnual5 years
Incident Response PlaybookHow to respond to authentication incidentsSOC ManagerAnnual5 years
Vendor Authentication RequirementsAuth requirements for third partiesIT DirectorAnnual5 years
User Training MaterialsAuthentication awareness trainingSecurity AwarenessAnnual5 years
Tool Configuration BaselinesStandard configs for IdP, SIEM, etc.IAM ManagerAnnual5 years
Risk Acceptance FormsDocumented exceptions with compensating controlsRisk ManagerPer exception5 years
Authentication Architecture DiagramVisual representation of auth flowIAM ManagerAnnual5 years
Certificate Management ProcedureHow certificates are issued, rotated, revokedPKI ManagerAnnual5 years
API Authentication StandardHow APIs authenticate and authorizeApp Security LeadAnnual5 years

Evidence for Audits

Evidence TypeWhat to ProvideSourceFrequency
Policy documentsSigned, dated, version-controlledDocument management systemAs needed
MFA configurationScreenshots or exports showing MFA enforcementIdP admin consoleQuarterly
Password policy testRecord of attempting weak passwordLive testMonthly
Session timeout configConfiguration screenshotsApplication settingsQuarterly
Authentication logsSample of 30 days of logsSIEM/Log storeQuarterly
User account sample10% of accounts checked for MFA enrollmentIdP/ADQuarterly
Service account inventoryList of all NHIs with auth methodCMDB/Cloud inventoryQuarterly
Break-glass test recordDocumented quarterly test with resultsTest recordsQuarterly
Access review recordsSigned access review reportsIAM recordsQuarterly
Risk acceptance formsAll exceptions with compensating controlsRisk registerQuarterly
Certificate inventoryAll certificates with expiry datesCertificate management toolMonthly
Training recordsCompletion records for authentication trainingLMSAnnual
Incident recordsAny authentication-related incidentsIncident management systemAs needed
Penetration test reportAuthentication testing resultsExternal pentestAnnual
Vulnerability scan resultsAuthentication system vulnerabilitiesVulnerability scannerMonthly
Architecture diagramCurrent authentication architectureDocumentation systemAnnual
Tool comparisonWhy current tools were selectedProcurement recordsAnnual

Continuous Improvement

Authentication Improvement Cycle

┌─────────────────────────────────────────────────────────────────┐
│                    PLAN                                          │
│  • Threat intelligence review                                   │
│  • Industry benchmark comparison                                  │
│  • Audit findings remediation                                    │
│  • New technology evaluation                                     │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    DO                                            │
│  • Implement improvements                                        │
│  • Update policies and procedures                                │
│  • Deploy new technologies                                       │
│  • Train users on changes                                        │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    CHECK                                         │
│  • Metrics review (KPI dashboard)                                │
│  • Penetration testing                                           │
│  • Red team exercises                                            │
│  • Audit and assessment                                          │
│  • User feedback                                                 │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    ACT                                           │
│  • Adjust based on findings                                      │
│  • Update risk assessment                                        │
│  • Communicate changes                                           │
│  • Document lessons learned                                      │
└─────────────────────────────────────────────────────────────────┘

Improvement Triggers

TriggerActionOwnerTimeline
New CVE in authentication toolPatch immediately, assess exposure, review compensating controlsSOC Manager24 hours
New authentication technologyEvaluate, pilot, assess ROI, plan rolloutIAM Manager3 months
Audit findingRemediate, update policy, re-test, documentIAM ManagerPer finding severity
Incident involving authenticationPost-incident review, update controls, train teamSOC Manager2 weeks
Regulatory changeAssess impact, update policy, implement changesLegal/CISOPer regulation
M&A activityIntegrate authentication systems, harmonize policiesIAM Manager6 months
Cloud migrationImplement cloud-native auth, migrate identitiesCloud Security6 months
User feedbackAssess usability vs. security, adjust policyIAM Manager1 month
Threat intelligenceUpdate detection rules, adjust conditional accessSOC Manager1 week
Benchmarking resultCompare to industry, identify gaps, plan improvementsCISOAnnual

Annual Improvement Agenda

MonthActivityOwnerOutput
JanuaryThreat intelligence review, technology watchSOC ManagerThreat report, tech roadmap
FebruaryPolicy review and updateCISO, IAM ManagerUpdated policy v2.X
MarchAccess review cycleIAM ManagerAccess review report
AprilPenetration testing (authentication focus)External pentestPentest report
MayTraining program updateSecurity AwarenessUpdated training materials
JuneMid-year metrics reviewCISOKPI dashboard review
JulyTool evaluation (new IdP, new MFA method)IAM ManagerEvaluation report
AugustRed team exercise (authentication bypass)External red teamRed team report
SeptemberAudit preparationInternal auditPre-audit checklist
OctoberExternal auditExternal auditorAudit report
NovemberAudit findings remediationIAM ManagerRemediation plan
DecemberYear-end review, budget planningCISOAnnual report, next-year budget

FAQ

Is MFA mandatory for ISO 27001?

No. ISO 27001 does not mandate MFA, and A.8.5 itself is selected through risk treatment. However, for any system processing sensitive data, MFA is the de facto expectation. Auditors will question single-factor authentication for anything beyond low-sensitivity systems. Our recommendation: make MFA your own policy requirement for all users, and document exceptions with a risk acceptance.

What password length does ISO 27001 require?

The standard does not specify a length. Modern best practice (NIST SP 800-63B, NCSC) recommends minimum 12 characters for standard users, 15 for privileged users. Focus on length over complexity. A 12-character passphrase is stronger than an 8-character complex password.

Should we force password rotation?

No. NIST SP 800-63B and modern research show that forced rotation weakens passwords (users increment: Password1, Password2). Rotate only on compromise, suspicion, or employee departure. Service accounts should rotate every 30–90 days (automated).

Are biometrics sufficient as a single factor?

No. Biometrics can fail (injury, sensor issues, privacy concerns). Always supplement with a fallback method (hardware key or password). Also, biometric data is PII, handle it under GDPR/DPDP Act privacy rules. Use biometrics as one factor in MFA, not as the only factor.

What about shared accounts?

Eliminate them. Shared accounts ("admin", "support", "root") destroy accountability. If a shared account is technically required:

  • Store password in vault (no individual knows it)
  • Implement checkout/check-in procedure (who used it, when, why)
  • Record session (everything they did)
  • Rotate password immediately after each use
  • Require approval for each checkout

How do we handle legacy systems that don't support MFA?

Document the exception with:

  • Risk acceptance form (CISO approved)
  • Compensating controls (network segmentation, IP whitelisting, no internet access)
  • Replacement plan with timeline
  • Quarterly review
  • Retirement target date

Never leave a legacy system unprotected without documented justification.

What's the difference between A.8.5 and A.5.17?

  • A.8.5 = Secure Authentication (the technical procedures and technologies: MFA, password policy, session management)
  • A.5.17 = Authentication Information (how credentials are created, distributed, managed, and revoked: password resets, credential issuance, revocation)

They are siblings. A.8.5 is the "what" (MFA, password policy). A.5.17 is the "how" (issuing credentials, resetting passwords, revoking access). Both must be implemented together.

Can we use SMS for MFA?

Only as a transitional measure. SMS is vulnerable to SIM swapping, SS7 attacks, interception, and phishing. Target: migrate all users from SMS to TOTP or hardware keys within 6 months. If you must use SMS today, require it only for low-risk systems and have a migration plan.

What is the fastest path to A.8.5 compliance?

  1. Week 1: Enable MFA on all admin accounts (hardware key)
  2. Week 2: Update password policy (12+ chars, no rotation, breach detection)
  3. Week 3: Enable MFA on all SaaS apps (TOTP/push)
  4. Week 4: Document authentication standard (policy document)
  5. Week 5: Configure session timeouts (30 min idle, 8 hours max)
  6. Week 6: Centralize authentication logs (SIEM)

This gets you to 80% compliance in 6 weeks. The remaining 20% (service accounts, conditional access, passwordless, risk-based) takes 6–12 weeks.

How much does full A.8.5 implementation cost?

Cost CategorySmall (10–50 users)Medium (50–500)Large (500+)
Consulting (Singahi)–––

What's the difference between authentication and authorization?

Authentication = Proving who you are ("I am the account holder") Authorization = Determining what you can do ("Priya can access the AWS console but not the financial database")

A.8.5 covers authentication. A.5.15 covers authorization. Both are required, authentication proves identity, authorization controls access.

How do we handle contractor authentication?

Contractors need the same authentication rigor as employees, with additional controls:

  • Time-limited accounts (auto-expire after contract end date)
  • Location-restricted access (corporate office only, or VPN from known IP)
  • Scoped access (only the systems they need, not everything)
  • Separate IdP group (distinguish contractors from employees)
  • Enhanced monitoring (log everything they do)
  • Immediate deprovisioning on contract end

What about customer authentication (B2C)?

Customer authentication has different requirements:

  • Friction vs. security balance: Customers abandon if authentication is too complex
  • Passkeys recommended: Best UX, no password reset, phishing-resistant
  • Progressive authentication: Low friction for browsing, stronger auth for transactions
  • MFA for high-value actions: Payments, password changes, address changes
  • Social login acceptable: Google, Apple, Facebook login (with your own verification)
  • Session management: Longer sessions for convenience, but re-auth for sensitive actions

How do we handle authentication across multiple cloud providers?

Multi-cloud authentication requires federation:

  1. Primary IdP: One corporate IdP (Okta, Azure AD, Ping)
  2. Federation: SAML/OIDC to AWS IAM Identity Center, GCP Cloud Identity, Azure AD
  3. Centralized policy: MFA, password policy, session management enforced at IdP
  4. Consistent logging: All auth events forwarded to central SIEM
  5. Single dashboard: Unified view of authentication across all clouds

What is continuous authentication?

Continuous authentication evaluates risk throughout the session, not just at login:

  • Behavioral biometrics: Typing pattern, mouse movement (is it still the same user?)
  • Device posture: Is the device still compliant? (AV, EDR, patch level)
  • Location stability: Is the user still in the same location?
  • Session anomalies: Is the user doing things they don't normally do?
  • Re-authentication: Step-up auth if risk signals change

Technology: Microsoft Continuous Access Evaluation (CAE), Okta Risk Engine, behavioral analytics (Exabeam, Splunk UBA).

How do we handle BYOD authentication?

Bring Your Own Device requires special authentication considerations:

  • Device registration: Register BYOD in MDM (Microsoft Intune, Omnissa Workspace ONE (formerly VMware))
  • Device compliance: Check patch level, AV, encryption before granting access
  • Conditional access: Different policy for BYOD vs corporate devices
  • App protection: Mobile app management (MAM) to protect corporate data
  • No offline access: Require internet connectivity for authentication (no cached credentials)
  • Wipe capability: Ability to wipe corporate data from BYOD without touching personal data

What about biometric authentication privacy?

Biometric data is sensitive PII. Handle it carefully:

  • Never store raw biometric data: Store templates, not images
  • Encryption: Encrypt biometric templates at rest and in transit
  • Consent: Obtain explicit consent for biometric collection
  • DPDP Act compliance: The DPDP Act has no sensitive category, but biometric data still needs consent, notice and strong safeguards; it is SPDI under the IT Act SPDI Rules until DPDP s.44(2) commences
  • Breach notification: Biometric data breach = mandatory notification
  • Alternative: Always offer non-biometric fallback (hardware key, password)
  • Storage: Store biometric data separate from other PII
  • Retention: Delete biometric data when employment ends (unless legally required)

References

Standards and Frameworks

ReferenceTitleRelevance
ISO 27001:2022Information Security Management Systems, RequirementsPrimary standard
ISO 27002:2022Information Security ControlsImplementation guidance
NIST SP 800-63BDigital Identity Guidelines, Authentication and Lifecycle ManagementPassword policy, MFA, AAL
NIST SP 800-63-3Digital Identity Guidelines, OverviewIdentity framework
NIST SP 800-53 Rev 5Security and Privacy ControlsControl mapping
PCI DSS v4.0.1Payment Card Industry Data Security StandardFinancial services
SOC 2 Trust Services CriteriaSecurity, Availability, ConfidentialityService organizations
CIS Controls v8Center for Internet Security ControlsImplementation benchmarks
COBIT 2019Control Objectives for Information TechnologiesGovernance framework

Indian Regulations

ReferenceTitleRelevance
DPDP Act 2023Digital Personal Data Protection ActData protection, consent
IT Act 2000 (as amended)Information Technology ActCybersecurity, penalties
RBI Master DirectionDigital Payments SecurityPayment authentication
RBI Cybersecurity FrameworkCybersecurity Framework for BanksBanking authentication
SEBI CSCRF (2024)Cybersecurity and Cyber ResilienceMarket infrastructure
IRDAI GuidelinesCybersecurity Guidelines for InsurersInsurance authentication
CERT-In GuidelinesInformation Security GuidelinesNational security

Technical References

ReferenceDescription
FIDO Alliancefidoalliance.org, FIDO2/WebAuthn standards
WebAuthn APIW3C Web Authentication standard
OAuth 2.0RFC 6749, Authorization framework
OpenID ConnectOpenID Connect Core 1.0
JWTRFC 7519, JSON Web Token
Argon2Password Hashing Competition winner
Have I Been Pwnedhaveibeenpwned.com, Breach database
OWASP Authentication Cheat SheetCheat sheet for secure authentication

Books and Resources

ResourceAuthorDescription
"Identity Attack Vectors"Morey HaberReal-world identity attack scenarios
"Zero Trust Networks"Evan Gilman, Doug BarthZero Trust architecture
"The Tangled Web"Michal ZalewskiWeb security fundamentals
"Real-World Cryptography"David WongCryptography for practitioners
OWASP Top 10OWASPWeb application security risks
SANS SEC401SANSSecurity Essentials (authentication module)

Industry Reports

ReportSourceYear
Verizon Data Breach Investigations ReportVerizonAnnual
IBM Cost of a Data Breach ReportIBMAnnual
Microsoft Digital Defense ReportMicrosoftAnnual
Identity Defined Security Alliance ReportIDSAAnnual
CERT-In Annual ReportIndian CERTAnnual

📧 Questions? Email us at security@singahi.com


End of ISO 27001:2022 Annex A 8.5, Secure Authentication: The Definitive Implementation Guide

How we can help

Working toward this?

If a certification or a customer's security questionnaire is what brought you here, tell us where you are. We'll give you an honest read on the work and the timeline, with no obligation.

What happens next

  1. Tell us the trigger

    A questionnaire, an audit date or an investor ask. The short form or a call both work.

  2. A practitioner replies

    A senior practitioner, not a bot, within four business hours.

  3. You get a scoped next step

    An honest view of what the work involves. No pressure, no theatre.