What Is Zero Trust Architecture?

Zero Trust Architecture is a security model built on one blunt premise: no request should be trusted just because of where it came from. Not the internal network, not a previously-authenticated session, not a service that's "always been on the same VLAN as everything else." Every request gets verified on its own merits, every time, regardless of source. The phrase was coined by Forrester analyst John Kindervag in 2010, and formalized into a reference architecture by NIST in SP 800-207 in 2020 — but the underlying idea is older than the name: the network perimeter stopped being a meaningful security boundary long before anyone agreed on what to call its replacement.

Quick definition: Zero Trust Architecture replaces "trusted because it's inside the network" with "verified because it proved it, right now, for this specific request." Identity, device posture, and request context are checked continuously — access is never granted implicitly based on network location, and never assumed to persist just because it was granted once.

The model it replaces: perimeter security

The architecture Zero Trust displaced is usually called "castle-and-moat": a hardened perimeter (firewall, VPN concentrator) separates a trusted internal network from an untrusted internet, and once a connection is inside the moat, it's largely treated as trusted by everything else on the network. It's a reasonable model for a world of on-premise servers and a workforce that connects from a fixed office network. It's a much worse model for the world that actually showed up: cloud services with no fixed perimeter to defend, a workforce connecting from home networks and coffee shops, and third-party SaaS integrations that need access to internal systems from the outside by design. "Inside the network" stopped reliably meaning "safe" once the network itself stopped having a clean edge.

The model has a second, sharper failure mode: it treats getting past the perimeter as the hard part and everything after that as easy. Once an attacker (or a compromised credential, or a malicious insider) is inside, castle-and-moat architectures typically offer little resistance to lateral movement — the same implicit trust that lets a payroll service talk to a database also lets an attacker who's compromised the payroll service talk to that same database, because nothing between them was ever built to ask "should this specific request actually be allowed."

The three tenets of NIST SP 800-207

NIST's reference architecture condenses Zero Trust into three practical commitments:

TenetWhat it means in practice
Verify explicitly Authenticate and authorize based on all available signal for this request — identity, device health, location, behavior pattern — not on network origin alone.
Least privilege access Grant the minimum access needed for the task, scoped as narrowly as possible (per-request or just-in-time where feasible), not a standing broad grant "because it's easier."
Assume breach Design as if an attacker is already somewhere inside the environment. Segment aggressively, log everything, and make lateral movement costly rather than assuming the perimeter did its job.

Zero Trust from a threat modeler's perspective

Most write-ups of Zero Trust are aimed at network and identity architects — VPN replacement, microsegmentation, continuous authentication. That's the implementation layer. For threat modeling specifically, Zero Trust reduces to a much narrower, more useful instruction: treat every internal data flow as if it crosses a trust boundary, not just the flows that cross the network perimeter.

In a traditional DFD, it's common to draw one large trust boundary around "the internal network" and leave everything inside it unbounded — the assumption being that service-to-service calls within that boundary don't need their own scrutiny. Zero Trust says that assumption is exactly backwards. Every service-to-service call is a place where an attacker who's compromised one component could try to reach the next one, so every one of those calls deserves its own boundary, its own STRIDE pass, and its own explicit answer to "why does this caller get access to this."

The practical modeling shift is granularity. Instead of one trust boundary around the whole internal environment, draw one around each service, each database, each queue — anywhere a request crosses from one component's control to another's. It produces a busier-looking diagram. It also produces a threat model that actually reflects how a real breach spreads: laterally, one over-trusted internal call at a time, which is precisely the pattern a single-perimeter diagram is structurally unable to represent.

Common misconceptions

  • "Zero Trust is a product you buy." No single appliance, VPN replacement, or identity platform makes an environment Zero Trust. Plenty of vendors market a point solution under the name; it's an architecture and an operating principle, implemented across identity, network, device, and application layers together.
  • "It's just modern VPN/SSO." Single sign-on and per-app access solve authentication at the edge of a session. Zero Trust asks for continuous verification within a session too — a request that was legitimate five minutes ago doesn't get a permanent pass.
  • "It's a project with an end date." There's no state where an environment becomes "done" being Zero Trust. It's an ongoing architectural stance applied to every new service, integration, and data flow as the system keeps changing.

Applying Zero Trust principles in a threat modeling workflow

  • Draw a trust boundary around every service-to-service call — not just around the network perimeter. If two components are controlled by different teams, deployed independently, or reachable by different sets of callers, they belong on opposite sides of a boundary.
  • Don't default "internal" flows to Low likelihood — a threat originating from a compromised internal service is exactly the scenario Zero Trust exists to catch. Score it on the actual controls in place, not on network location.
  • Model identity and authentication as first-class DFD elements, not an assumed given off to the side. If a call's legitimacy depends on a token or session check, that check is part of the diagram, and its absence is a finding.
  • Tag Spoofing and Elevation of Privilege threats on internal flows, not only on the edge-facing ones — these are the STRIDE categories Zero Trust is most directly targeting.
  • Re-examine any existing mitigation that reads "not exploitable, internal only" — that phrase is a network-location assumption wearing a mitigation's clothing, and it's the first thing a Zero Trust review should challenge.

Model trust boundaries around every service, not just the network edge

ThreatTree's DFD editor lets you nest a trust boundary around any service-to-service call, not only the network perimeter — so a Zero Trust review has an actual diagram to work from instead of a policy document nobody checks against the real architecture.

Get started free

Not ready to sign up? Get new threat-modeling guides by email instead.