Markdown Editor

Security Architecture Document Template (NIST SP 800-160, STRIDE)

Security architecture: assets, trust boundaries, STRIDE threat register, requirements, IAM, data protection, detection, residual risk

Architektur & SystemdesignVollständigNIST SP 800-160 Vol. 1, STRIDEsecuritymath

Anleitung: Use for any system handling personal, financial or business-critical data, before go-live and on major change. Work from assets to trust boundaries to STRIDE threats, then derive requirements and controls with IDs so section 15 can trace them. Main pitfall: listing policy-level controls that do not trace to any threat or are not actually built.

Vorschau

Security Architecture: [System name]

Complete security architecture document for one system: scope and assets, trust boundaries, threat model, security requirements, identity and access, data protection, network, application security, detection, incident response, secrets, third parties, compliance mapping and residual risk. Based on the systems security engineering principles of NIST SP 800-160 Volume 1 (public domain) and the STRIDE threat categories. Replace every [bracketed] value and every row marked Example. Worked examples use a customer-facing web application with a payment integration.

Document control

FieldValue
Document ID[SEC-ARCH-SHOP-001]
System[Online shop platform]
Release described[v3.2 / target architecture YYYY]
Version[0.1]
Status[Draft / In review / Approved / Superseded]
Security architect[@security-architect]
System owner[@system-owner]
ClassificationConfidential
Last updatedYYYY-MM-DD
Next reviewYYYY-MM-DD (at least annually and on major change)
Related[Architecture description], [Threat model workshop notes], [Risk register]

Approvals

RoleNameDecisionDate
System owner (risk owner)[@name][Approved / Changes requested]YYYY-MM-DD
Security architect[@name][Decision]YYYY-MM-DD
Chief information security officer or delegate[@name][Decision]YYYY-MM-DD
Privacy / data protection officer[@name][Decision]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]First draft after threat modelling workshop
0.2YYYY-MM-DD[@name]Example: Added payment provider trust boundary; threats T-07 to T-09
1.0YYYY-MM-DD[@name]Example: Approved; residual risks RR-01 and RR-02 accepted

Contents

1. Introduction

1.1 Purpose

[What this document decides and records. Example: "This document describes how the online shop protects customer accounts, orders and payment flows, and records the security risks accepted by the system owner for release 3.2."]

1.2 Audience

Engineering leads, platform and operations teams, security reviewers, auditors and the system owner who accepts residual risk.

1.3 Security design principles

The design applies the following principles, derived from the systems security engineering principles in NIST SP 800-160 Volume 1. Each row states how the principle shows up in this system.

IDPrincipleHow it is applied here
P-01Least privilegeExample: Each service has its own identity and only the permissions listed in 6.3
P-02Defence in depthExample: WAF, authentication at the gateway, authorisation in each service, encryption of data stores
P-03Secure defaultsNew endpoints require authentication unless explicitly marked public in code review
P-04Minimise attack surfaceOnly the gateway is reachable from the internet; admin tools are private
P-05Separation of dutiesProduction deploys require a second approver; no engineer holds standing admin rights
P-06Fail securelyAuthorisation errors deny; dependency failures never bypass checks
P-07Trust nothing implicitlyEvery service call is authenticated with workload identity, inside the network too
P-08TraceabilitySecurity-relevant actions are logged with actor, time and request ID
[P-nn][Principle][Application]

2. Scope, assets and security objectives

2.1 Scope

In scopeOut of scope
Example: Storefront web app, mobile API, order and customer services, admin consoleCorporate laptops and email (covered by enterprise security)
Example: Cloud account [shop-prod], CI/CD pipelinesPayment card processing inside the payment provider's hosted page
[Item][Item]

2.2 Asset register

IDAssetTypeClassificationConfidentialityIntegrityAvailabilityOwner
A-01Customer accounts and credentialsDataPersonalHighHighMedium[@owner]
A-02Order and address historyDataPersonalHighHighMedium[@owner]
A-03Payment tokens from providerDataSensitiveHighHighHigh[@owner]
A-04Product prices and promotionsDataInternalLowHighHigh[@owner]
A-05Checkout serviceServicen/aMediumHighHigh[@owner]
A-06Signing keys and API secretsCredentialSecretCriticalCriticalHigh[@owner]
A-07CI/CD pipeline and build artefactsProcessInternalMediumCriticalMedium[@owner]
[A-nn][Asset][Type][Class][L / M / H][L / M / H][L / M / H][@owner]

2.3 Security objectives

IDObjectiveMeasure
SO-01No unauthorised access to another customer's dataZero confirmed incidents; authorisation tests in CI
SO-02Prices and orders cannot be tampered with by clientsServer-side price calculation; integrity tests
SO-03Detect account takeover attempts quicklyCredential-stuffing detection within [5 minutes]
SO-04Restore service after a security incidentRTO [4 hours], RPO [15 minutes]
[SO-nn][Objective][Measure]

3. Architecture and trust boundaries

The diagram shows the main components and the four trust boundaries (TB). Data flows crossing a boundary are numbered and analysed in section 4.

BoundarySeparatesControls at the boundary
TB1 to TB2Internet and edgeTLS 1.2+, WAF managed rules, bot management, rate limits
TB2 to TB3Edge and servicesToken validation at gateway, mTLS to services, schema validation
TB3 to TB4Services and dataPer-service database credentials, private endpoints, encryption
TB3 to third partiesServices and payment provider / identity providerOutbound allow-list, signed webhooks, mutual secrets rotated

4. Threat model

4.1 Method

Threats were identified with STRIDE per element in a workshop on YYYY-MM-DD with [participants]. Risk is scored as:

R=L×I,L,I∈{1,2,3,4,5}R = L \times I, \quad L, I \in \{1, 2, 3, 4, 5\}

with High at R≥15R \ge 15, Medium at 8≤R<158 \le R < 15 and Low below 8.

4.2 STRIDE categories

CategoryProperty violatedTypical question
SpoofingAuthenticityCan someone pretend to be another user or service?
TamperingIntegrityCan data or code be changed without authorisation?
RepudiationNon-repudiationCan someone deny an action because it was not recorded?
Information disclosureConfidentialityCan data reach someone not entitled to it?
Denial of serviceAvailabilityCan the service be made unavailable or too slow?
Elevation of privilegeAuthorisationCan someone gain rights they should not have?

4.3 Threat register

IDElement / flowSTRIDEThreatLIRControlsStatus
T-01F1, storefront loginSCredential stuffing with leaked passwords5420SR-03, C-IAM-02, C-DET-01Mitigated
T-02F3, order APITClient changes item price in checkout request4416SR-06 (server-side pricing)Mitigated
T-03Order serviceEBroken object-level authorisation exposes other customers' orders4520SR-04, C-APP-03Mitigated
T-04Admin consoleRSupport agent changes an address without trace339SR-09, C-DET-02Mitigated
T-05F4, databaseIBackup copy exposed through misconfigured storage2510C-DATA-03, C-POL-01Mitigated
T-06EdgeDVolumetric attack on checkout during sale3412C-NET-01, autoscalingPartially mitigated
T-07F6, payment webhookSForged payment confirmation marks order paid3515SR-07 (signature check)Mitigated
T-08CI/CDTCompromised dependency injects code into build3515C-APP-05, C-SC-01Partially mitigated
T-09Secrets managerIOver-broad secret read permission2510C-SEC-02Mitigated
[T-nn][Element][S/T/R/I/D/E][Threat][1-5][1-5][L x I][IDs][Status]

5. Security requirements

IDRequirementSourcePriorityVerification
SR-01All external traffic uses TLS 1.2 or later with HSTS (max-age at least 1 year)P-02MustAutomated TLS scan
SR-02Customer passwords are stored with a memory-hard hash (Argon2id or equivalent)A-01MustCode review
SR-03Login is protected by rate limiting, breached-password checks and optional MFAT-01MustIntegration test, pen test
SR-04Every request for a customer-owned object checks ownership in the serviceT-03MustAuthorisation test suite
SR-05Admin users authenticate with phishing-resistant MFAP-01MustIdP policy review
SR-06Prices, discounts and totals are computed on the server onlyT-02MustUnit and abuse tests
SR-07Payment provider webhooks are verified by signature and timestampT-07MustIntegration test
SR-08Personal data in non-production environments is maskedA-01, A-02MustData scan
SR-09Security-relevant events are logged and retained for [1 year]T-04MustLog review
[SR-nn][Requirement][Threat / asset / principle][Must / Should][Method]

6. Identity and access management

6.1 Identities

Identity typeAuthenticated byAuthorisation modelLifecycle
CustomerExample: Identity provider, OIDC, password plus optional passkeyOwnership checks per objectSelf-service; deleted on request
Staff (support, admin)Corporate SSO with phishing-resistant MFARole-based, roles in 6.2Joiner-mover-leaver from HR system
Service workloadsWorkload identity, short-lived certificatesPer-service policy (6.3)Created by IaC, rotated automatically
CI/CD pipelineOIDC federation to cloud, no long-lived keysDeploy role per environmentManaged in IaC
[Type][Method][Model][Lifecycle]

6.2 Staff roles

RoleCanCannotApproval
Support agentView orders, change delivery address, issue refunds up to [100 EUR]Export customer lists, change pricesTeam lead
Support supervisorAbove plus refunds up to [1 000 EUR]Change rolesHead of support
Platform admin (just-in-time)Infrastructure changes during an approved windowRead customer data without a ticketChange approver, time-limited
[Role][Can][Cannot][Approver]

6.3 Privileged access

  • No standing administrator access in production; access is requested, approved and granted for at most [4 hours].
  • Privileged sessions are recorded. Break-glass accounts are sealed, alerted on use and reviewed within one business day.
  • Access reviews: [quarterly] for staff roles, [monthly] for privileged roles.

6.4 Identity controls

IDControl
C-IAM-01Single identity provider for customers and staff; no local accounts in services
C-IAM-02Login protection: per-account and per-IP throttling, breached-password check, step-up MFA on risk signals
C-IAM-03Sessions expire after [30 minutes] idle for staff and [30 days] for customers; revocable centrally
C-IAM-04Workload identities issued by the platform; no static service passwords
[C-IAM-nn][Control]

7. Data protection

7.1 Data classification and handling

ClassificationExamples in this systemStorage ruleTransfer rule
SensitivePayment tokens, identity documentsDedicated store, field-level encryptionNever in logs or analytics
PersonalName, email, address, order historyEncrypted store, access loggedOnly to processors under contract
InternalPrices, stock levelsEncrypted at restInternal networks
PublicProduct descriptionsNo restrictionNo restriction

7.2 Encryption

LayerControlDetail
In transit, externalTLS 1.2+ with modern cipher suitesCertificates from [managed CA]; auto-renewed
In transit, internalmTLS between servicesService mesh issues 24-hour certificates
At rest, databasesStorage encryption with customer-managed keysKey per environment
At rest, object storageServer-side encryption, bucket policies deny unencrypted uploads
Field levelEnvelope encryption for [phone number, date of birth]Data key per record, wrapped by KMS key
Backups (C-DATA-03)Encrypted, stored in a separate account, public access blocked by policy C-POL-01Policy-as-code check fails any public bucket

7.3 Key management

KeyPurposeStoreRotationAccess
db-prod-cmkDatabase encryptionCloud KMS (HSM-backed)Yearly, automaticDatabase service only
pii-field-keyField-level encryptionCloud KMSYearly; data re-wrappedCustomer service role
jwt-signingToken signingIdentity provider90 days, overlap 7 daysIdP only
[Key][Purpose][Store][Rotation][Access]

7.4 Minimisation and retention

[State what personal data is not collected, how long each category is kept and how deletion requests are fulfilled across stores and backups.]

8. Network security and segmentation

ZoneContainsInbound allowed fromOutbound allowed to
EdgeCDN, WAF, gatewayInternet on 443Application zone on 443
ApplicationServicesEdge, same zone (mTLS)Data zone, egress proxy
DataDatabases, caches, queuesApplication zone on service portsNone
ManagementBastion-less access via session manager, CI runnersCorporate SSO onlyAll zones on management ports, logged
Egress proxyOutbound gatewayApplication zoneAllow-listed domains: payment provider, IdP, email provider
IDControl
C-NET-01DDoS protection and WAF managed rule sets with [OWASP core rules] at the edge
C-NET-02Security groups / network policies deny by default; rules defined in IaC and reviewed
C-NET-03Private endpoints for managed data services; no public IPs on data stores
C-NET-04Egress restricted to an allow-list through the proxy; DNS logging enabled
[C-NET-nn][Control]

9. Application security

IDControlStageEvidence
C-APP-01Threat modelling for every new feature crossing a trust boundaryDesignUpdated section 4
C-APP-02Static analysis on every pull request; high findings block mergeBuildCI report
C-APP-03Central authorisation library with object-ownership checks; tests for each endpointCodeTest suite
C-APP-04Input validation against schemas at the gateway and services; output encoding in templatesCodeCode review checklist
C-APP-05Dependency scanning and lockfiles; new packages reviewed; known-exploited vulnerabilities patched within [7 days]BuildSCA report
C-APP-06Security headers: CSP, HSTS, X-Content-Type-Options, frame-ancestorsDeployHeader scan
C-APP-07Dynamic scanning in staging; annual external penetration testTestReports
C-APP-08Signed build artefacts and provenance; only signed images deployReleaseAdmission policy
[C-APP-nn][Control][Stage][Evidence]

10. Secrets management

TopicRule
StoreExample: Central secrets manager; one path per service and environment
AccessC-SEC-02: each workload identity reads only its own path; humans read production secrets only via break-glass
DeliveryInjected at runtime as files or via SDK; never baked into images
RotationDatabase credentials dynamic (1 hour); third-party API keys every [90 days]; immediate on suspected leak
DetectionC-SEC-03: secret scanning on every push and on the full history weekly
InventorySecrets register with owner and rotation date, reviewed quarterly

11. Logging, monitoring and detection

SourceEventsDestinationRetention
GatewayRequests, auth failures, rate-limit hitsSIEM[1 year]
Identity providerLogins, MFA events, password resetsSIEM[1 year]
ServicesAuthorisation denials, admin actions, refundsSIEM[1 year]
Cloud control planeIAM changes, key usage, network changesSIEM, immutable archive[2 years]
[Source][Events][Destination][Retention]
IDDetectionThresholdResponse
C-DET-01Credential stuffingMore than [50] failed logins per IP or [500] per minute globallyAuto-block and page on call
C-DET-02Unusual admin activityRefunds by one agent above [3x] their 30-day averageTicket to support supervisor
C-DET-03Privilege escalation in cloudAny IAM policy change outside IaC pipelinePage security on call
C-DET-04Data exfiltrationEgress to non-allow-listed domainBlock and alert
[C-DET-nn][Detection][Threshold][Response]

12. Incident response integration

ItemValue
Incident process[Link to the organisation's incident response plan]
Security on-call[@security-oncall], paged through [tool]
System contacts[@system-owner], [@tech-lead], [@platform-oncall]
PlaybooksAccount takeover, data exposure, compromised secret, ransomware, payment fraud
Containment leversDisable logins per tenant, revoke all sessions, rotate secrets, block IP ranges at WAF, put checkout in maintenance mode
Evidence sourcesSIEM, cloud audit trail, database audit log, snapshot of affected hosts
Notification duties[Data protection authority and customers per applicable law; confirm with legal]
Last exerciseYYYY-MM-DD, scenario [name], findings [link]

13. Third-party and supply chain risk

IDSupplier / componentFunctionData sharedAssuranceContract controlsReview
C-SC-01Open-source dependenciesLibrariesNoneSCA, SBOM, provenance checksn/aContinuous
TP-01Example: Payment providerCard processingOrder ID, amount; card data entered on provider page[PCI DSS attestation]DPA, breach notice within [24 h]Annual
TP-02Example: Email delivery providerTransactional emailEmail address, order summary[Independent audit report]DPAAnnual
TP-03Example: Identity providerCustomer and staff loginCredentials, profile[Audit report]DPA, uptime SLAAnnual
[TP-nn][Supplier][Function][Data][Evidence][Controls][Frequency]

14. Compliance mapping

Obligation or frameworkRequirement areaControls in this documentEvidenceStatus
Example: Data protection law (for example GDPR)Security of processing, data minimisation7.1 to 7.4, SR-08DPIA [link]Compliant
Example: Payment card industry standardScope reduction through hosted payment page2.1, TP-01Self-assessmentCompliant
Example: Information security management system (ISO/IEC 27001)Access control, cryptography, logging6, 7.2, 11Statement of applicabilityPartially
[Framework][Area][Controls][Evidence][Status]

15. Traceability, residual risks and acceptance

15.1 Traceability

ThreatRequirement(s)Control(s)VerificationResult
T-01SR-03C-IAM-02, C-DET-01Pen test YYYY-MM-DDPass
T-03SR-04C-APP-03Authorisation test suitePass
T-07SR-07Webhook signature checkIntegration testPass
T-08n/aC-APP-05, C-APP-08, C-SC-01SBOM and provenance checkPartial
[T-nn][SR][C][Method][Result]

15.2 Residual risks

IDRiskRelated threatsResidual ratingReason not fully mitigatedPlanned treatmentOwnerAccepted until
RR-01Example: Application-layer DDoS during peak sales could degrade checkoutT-06MediumCost of always-on scrubbing above budgetQueue-based checkout by Q3[@owner]YYYY-MM-DD
RR-02Example: Transitive dependency compromise before detectionT-08MediumProvenance not available for all packagesPin and verify top 50 packages[@owner]YYYY-MM-DD
[RR-nn][Risk][T][L / M / H][Reason][Treatment][@owner]YYYY-MM-DD

15.3 Exceptions to security baseline

IDBaseline requirementDeviationCompensating controlApproved byExpires
EX-01Example: All admin tools behind SSOLegacy reporting tool uses local accountsIP allow-list, MFA plug-in, monthly review[@name]YYYY-MM-DD
[EX-nn][Requirement][Deviation][Control][@name]YYYY-MM-DD

16. Appendices

16.1 Glossary

TermMeaning
Trust boundaryA line where the level of trust changes, such as between the internet and the gateway
STRIDEThreat categories: spoofing, tampering, repudiation, information disclosure, denial of service, elevation of privilege
mTLSMutual TLS: both client and server present certificates
Residual riskRisk remaining after controls are applied
SIEMSecurity information and event management platform
[Term][Meaning]

16.2 References

ReferenceUse
NIST SP 800-160 Vol. 1 Rev. 1, Engineering Trustworthy Secure SystemsDesign principles in 1.3
STRIDE threat categories (Microsoft)Threat classification in section 4
[OWASP Application Security Verification Standard]Detailed application requirements
[Organisation security policy and baseline]Baseline for exceptions in 15.3

Standard and licence note

Based on NIST SP 800-160 Volume 1, Engineering Trustworthy Secure Systems (public domain, U.S. Government work), for the systems security engineering principles, and on the STRIDE threat categories for threat modelling. This template is original text written for this collection; it is a format for recording design decisions, not legal or compliance advice. Template licence: MIT.

Ähnliche Vorlagen