Skip to main content

STRIDE Threat Model

55 requirements mapped to controls.

Requirements

RequirementTitleControlsOwner
WF-S-1Attacker replays a stolen JWT to impersonate a userSID-AUTH-01, SID-AUTH-02platform
WF-S-2Phishing page mimics wallet UI to capture WebAuthn challengeSID-AUTH-01platform
WF-I-1Session token extracted from sessionStorage via XSSSID-HARD-05platform
WF-I-2Credential private keys exported from IndexedDB via XSSSID-CRYPTO-01, SID-HARD-05, SID-KEY-01platform
WF-T-1Attacker modifies WalletStateContainer stored on the backendSID-DATA-03, SID-CRYPTO-01platform
WF-R-1User denies signing a Verifiable PresentationSID-CRYPTO-01platform
WF-D-1Flood WebSocket engine to exhaust server connectionsSID-HARD-02operator
WF-E-1Attacker uses another tenant's JWT to access user dataSID-ACCESS-01platform
WF-I-3WebAuthn PRF output intercepted during unlockSID-KEY-01, SID-CRYPTO-02platform
WF-T-2Attacker injects a rogue ECDH public key to re-wrap the main keySID-CRYPTO-01, SID-CRYPTO-02platform
WF-E-2Attacker forces schema downgrade (v2 → v1) to bypass ECDH wrappingSID-DATA-03platform
WB-S-1Attacker forges JWT to gain API accessSID-AUTH-02platform
WB-S-2Attacker submits fabricated WebAuthn assertion for registration/loginSID-AUTH-01platform
WB-T-1MITM modifies API request between reverse proxy and backendSID-TRANS-01operator
WB-I-1Admin token logged at DEBUG level and shipped to log aggregatorSID-AUDIT-02platform
WB-I-2MongoDB user records accessible without encryption at restSID-DATA-01operator
WB-R-1Operator denies tenant CRUD actions performed via admin APISID-AUDIT-01platform
WB-D-1Brute-force WebAuthn login to trigger lockout for legitimate usersSID-HARD-02platform
WB-D-2VCTM registry query flood (port 8097)SID-HARD-02operator
WB-E-1Cross-tenant data access by manipulating X-Tenant-ID headerSID-ACCESS-01platform
WB-S-3Attacker guesses or brute-forces admin bearer tokenSID-AUTH-01, SID-HARD-03operator
WB-E-2Network-reachable admin port grants full tenant/user CRUDSID-HARD-03operator
WB-D-3Admin API flooded to lock out legitimate administrationSID-HARD-02, SID-HARD-03platform
WB-S-4Attacker runs a rogue AuthZEN endpoint and redirects wallet backendSID-TRANS-01operator
WB-E-3Attacker calls go-trust /evaluation endpoint directly, bypassing SPOCP firewallSID-TRUST-02, SID-ACCESS-04operator
VC-S-1External wallet presents forged OID4VCI authorization codeSID-AUTH-04, SID-CRYPTO-01platform
VC-S-2Attacker spoofs facetec-api to inject biometric approvalSID-TRANS-01, SID-AUTH-01platform
VC-T-1Tamper with credential claims between issuer and registrySID-TRANS-01, SID-TRANS-02platform
VC-I-1PID or biometric data exposed in vc issuer logsSID-AUDIT-02, SID-DATA-01platform
VC-R-1Holder denies receiving a credentialSID-AUDIT-01platform
VC-D-1OID4VCI token endpoint floodedSID-HARD-02platform
VC-E-1SPOCP policy bypass on pid_auth credential typeSID-ACCESS-04platform
VC-I-2PKCS#11 HSM PIN exposed in YAML configSID-KEY-02operator
VC-I-3Software fallback issuer key (PEM file) readableSID-KEY-02platform
VC-T-2Attacker replaces software PEM key fileSID-KEY-02platform
TR-S-1DNS hijacking returns attacker-controlled trust list URLSID-TRANS-04platform
TR-S-2BGP hijacking routes ETSI TSL traffic to attackerSID-TRANS-01, SID-CRYPTO-03platform
TR-T-1Attacker injects malicious entries into fetched trust listSID-TRUST-02, SID-TRUST-04platform
TR-I-1/evaluation endpoint called externally to learn trust topologySID-TRUST-02operator
TR-D-1Flood /evaluation endpoint to deny trust decisionsSID-HARD-02platform
TR-D-2External trust service unavailable causes trust resolution failureSID-TRUST-02operator
TR-E-1Attacker enumerates trust anchor membership via unauthenticated /evaluationSID-TRUST-02operator
SP-T-1Attacker modifies startup-loaded configuration artifacts on diskSID-OPS-05, SID-ACCESS-04platform
SP-E-1Malformed S-expression input causes policy bypassSID-HARD-01, SID-ACCESS-04platform
SP-R-1Operator denies configuration changesSID-AUDIT-01, SID-OPS-05platform
FT-S-1Attacker replays biometric session token to re-use completed liveness checkSID-AUTH-01platform
FT-I-1Biometric image data (selfie) persisted beyond processingSID-DATA-01, SID-PRIV-01platform
FT-I-2Biometric data in PostgreSQL accessible without encryption at restSID-DATA-01operator
FT-D-1Biometric endpoint flooded to exhaust FaceTec capacitySID-HARD-02, SID-HARD-07platform
FT-D-210 MB selfie upload consumes bandwidthSID-HARD-07platform
CC-I-1HMAC JWT secrets exposed via misconfigured config/envSID-KEY-02, SID-OPS-03operator
CC-R-1No platform-wide audit trail for security-relevant eventsSID-AUDIT-01, SID-AUDIT-02platform
CC-D-1Kubernetes pod restarts clear in-memory JTI blacklistSID-AUTH-02, SID-OPS-07platform
CC-T-1Supply-chain attack via compromised dependencySID-OPS-04platform
CC-S-1Attacker impersonates internal service (no service mesh)SID-TRANS-01, SID-TRANS-02platform