45 min read

> "The strategy of Zero Trust is to assume a breach and verify each request as though it originated from an uncontrolled network."

Prerequisites

  • 3
  • 16
  • 17

Learning Objectives

  • Explain why the network perimeter failed as a security boundary and what replaced it.
  • State the seven tenets of zero trust from NIST SP 800-207 and apply them to a design decision.
  • Design access around the three signals of identity, device posture, and context rather than network location.
  • Trace a single access request through a policy decision point and policy enforcement point, including a ZTNA connection flow.
  • Distinguish ZTNA from a legacy VPN and microsegmentation from perimeter segmentation.
  • Build a pragmatic, phased zero-trust migration roadmap that treats zero trust as a journey, not a product.

Chapter 32: Zero Trust Architecture: Never Trust, Always Verify — Designing for the Post-Perimeter World

"The strategy of Zero Trust is to assume a breach and verify each request as though it originated from an uncontrolled network." — paraphrasing the NIST SP 800-207 design premise

Overview

For thirty years, the dominant model of network security was a castle. There was an inside and an outside, separated by a wall — the firewall — with a few guarded gates. Once you were inside the wall, the network mostly trusted you. A laptop that had connected to the corporate VLAN, an account that had authenticated to the domain, a server that sat in the data center: all of them inherited a quiet, automatic trust from their location. The wall was the security boundary, and being inside it was almost as good as being authorized.

That model is dead, and it was killed by exactly the forces you have studied in every prior part of this book. Cloud moved the data outside the wall (Chapter 15). Remote work moved the people outside the wall. Mobile and IoT devices punched thousands of holes in it (Chapter 14). And the attackers learned the model's fatal flaw: if location confers trust, then an attacker who gets inside — through a phished credential, a vulnerable VPN appliance, a compromised vendor — inherits that trust automatically and moves sideways through the network at will. Almost every major breach you will study in Chapter 40 has the same middle chapter: the attacker got one foothold, and then nothing inside stopped them from reaching everything else. The wall held them out for exactly as long as it took to find one unlocked window, and then it became a wall that kept the defenders' visibility out while the attacker roamed free within.

Zero trust is the architectural response to that failure. The slogan — never trust, always verify — is genuinely the whole idea: trust is never granted because of where a request comes from, and it is never granted permanently. Every request to access a resource is evaluated, every time, against the identity making it, the device it comes from, and the context surrounding it — and the access granted is the minimum needed, for this request, right now. You already met the principle of zero trust in Chapter 3 as a mindset. This chapter is about the architecture: the concrete components, standards, and migration path that turn the mindset into a running system. We will be relentlessly pragmatic, because the single most common way zero trust fails in the real world is being sold as a product you buy rather than understood as a journey you take.

In this chapter, you will learn to:

  • Explain precisely why the perimeter model failed, and why "flat trust" inside a network is the enabler of lateral movement.
  • State and apply the seven tenets of zero trust as defined in NIST Special Publication 800-207, the field's anchor standard.
  • Design access decisions around identity, device posture, and context — the three signals that replace network location.
  • Trace a single access request through the policy decision point and policy enforcement point, and walk a zero-trust network access (ZTNA) connection from first packet to granted session.
  • Tell ZTNA apart from a legacy VPN, and microsegmentation apart from the perimeter segmentation of Part II.
  • Build a realistic, phased zero-trust roadmap for Meridian that sequences identity, device, and segmentation work against budget and risk — and explains to a board why it is a multi-year program, not a purchase.

Learning Paths

Zero trust is an architecture chapter, so the engineer is the primary audience — but everyone who designs, audits, or operates access controls needs the model.

🏗️ Security Engineer: This is a core chapter for you. Read all of §§32.2–32.6 closely; they are the blueprint you will implement. §32.6 (the roadmap) is where architecture meets budget reality. 📋 GRC: Focus on §32.2 (the tenets, which map to control frameworks) and §32.6 (sequencing and maturity, which is how you'll explain the program to auditors and the board). Zero trust is now an explicit expectation in many regulatory and federal contexts. 🛡️ SOC Analyst: §32.3 (device posture and context) and §32.4 (the PDP/PEP flow) determine what your telemetry looks like and which access decisions generate the logs you'll investigate. A zero-trust environment is a richer environment to hunt in. 📜 Certification Prep: Both Security+ and CISSP test zero-trust concepts and the SP 800-207 vocabulary (policy engine, policy administrator, PEP, implicit trust zone). The key-takeaways.md maps them to exam domains.


32.1 Why the perimeter failed

Start with the move that defined a decade of breaches, because zero trust is best understood as the direct answer to it.

An attacker phishes one employee at a company — say, a finance clerk. They harvest a password, and because that company relies on a VPN for remote access and the VPN accepts a password plus a soft token, the attacker logs in. Now they are inside. And inside, the network is flat: the clerk's laptop can reach file servers, the wiki, the build system, several internal web apps, the backup infrastructure, and — because someone configured it years ago and forgot — a management interface on a domain controller. None of those systems re-checks who the clerk is or whether their laptop is healthy. They trust the clerk because the clerk is on the network. The attacker spends the next three weeks moving from system to system, escalating privilege, locating the crown jewels, and finally deploying ransomware or exfiltrating data. The initial foothold took one click. The damage took the flat, trusting interior.

This sideways movement from an initial foothold to high-value targets is lateral movement, and you have met it before — it is a stage in the kill chain (Chapter 2), it is what segmentation tries to contain (Chapters 6 and 7), and it is what privileged-access controls try to slow (Chapter 19). The perimeter model is uniquely bad at stopping it, and understanding why is the foundation of this whole chapter.

The fatal assumption: location implies trust

The traditional model rests on a single assumption: that the location of a request is a reliable proxy for its trustworthiness. Inside the firewall is trusted; outside is untrusted. This assumption was never quite true, but for a long time it was good enough, because the inside was genuinely hard to reach — you needed physical access to a building or a dial-up line to a specific modem. The boundary between inside and outside was real and defensible.

Three changes destroyed that boundary:

  1. The data left. Software as a service, infrastructure in AWS and Azure, customer data in a dozen cloud platforms — the things you are protecting are no longer inside any wall you control. The shared-responsibility model of Chapter 15 already told you the cloud provider owns part of the boundary; zero trust is the logical conclusion that there is no single boundary to own.
  2. The people left. Remote and hybrid work made "on the corporate network" the exception rather than the rule. A workforce connecting from homes, coffee shops, and airports cannot be defended by a wall around an office.
  3. The interior was never actually safe. Even in the classic model, a single compromised device inside the wall — a contractor's laptop, an IoT thermostat, a phished workstation — gave an attacker the same inherited trust as any legitimate insider. The "inside" was a soft, trusting space precisely where it most needed to be hard.

🚪 Threshold Concept: The perimeter did not so much fail as dissolve. There is no longer a meaningful line where "inside" stops and "outside" begins, because your users, your data, and your services are scattered across networks you do not control. Once you accept that there is no trusted interior, the entire logic of security inverts: instead of building one strong wall and trusting everything within it, you treat every network as hostile and verify every request individually. That inversion is zero trust, and everything else in this chapter is its consequence.

What "trusted interior" cost us

The clearest way to see the perimeter's failure is to name what the flat, trusting interior actually provided to attackers. We call this collection of implicitly-trusted resources an implicit trust zone: a region of a system where, once an entity has gained entry, it is granted broad access without further per-request verification because it is presumed trustworthy by virtue of being there. The classic corporate LAN was one enormous implicit trust zone. A VPN dumps a remote user into an implicit trust zone — that is precisely what a VPN does, and precisely the problem.

Implicit trust zones are where lateral movement lives. Inside one, an attacker:

  • Reaches systems that never re-authenticate them. Internal services that assume "if you can connect, you're allowed" require no further proof.
  • Inherits the network position of whatever they compromised. Compromise a low-value workstation and you get the same network reach as that workstation — which, in a flat network, is nearly everything.
  • Operates without generating access-decision telemetry. Because nothing is making a fresh authorization decision for each access, there is little to log and little to alert on. The attacker's lateral movement looks like normal internal traffic.

🛡️ Defender's Lens: Lateral movement inside an implicit trust zone is hard to detect precisely because the zone was designed to permit it. From the SOC seat, an attacker pivoting between internal hosts on allowed ports generates traffic that is, by the network's own rules, legitimate. The deepest reason zero trust improves detection is not the marketing — it is that making a fresh authorization decision for every access creates a log of every access, turning silent lateral movement into a stream of decisions you can monitor, baseline, and alert on (the kind of telemetry your SIEM in Chapter 21 was built to consume).

📟 War Story: A constructed but representative composite. A mid-size firm suffered a breach that began with a single phished credential and a VPN that required only a password and a one-time code — both of which the attacker captured with a convincing fake portal. The VPN deposited the attacker onto the internal network as a fully trusted host. Over nineteen days, with no further authentication challenge, the attacker enumerated file shares, found credentials cached on a workstation, reached the backup server, and finally the virtualization platform. The forensic timeline (the kind you would build in Chapter 25) showed the grim truth: the initial compromise was stopped by nothing, and the lateral movement was stopped by nothing, because the network's design was to trust whoever was inside it. Not one of the nineteen days' worth of pivots triggered an access denial, because no system between the VPN and the crown jewels ever asked the attacker to prove anything again.

The lesson of every such breach is identical, and it is the thesis of zero trust: trust based on network location is the vulnerability. Remove it, and lateral movement stops being free.

🔄 Check Your Understanding: 1. Explain, in terms of the implicit trust zone, why a phished VPN credential is so much more dangerous in a perimeter model than in a zero-trust model. 2. Why is lateral movement inside a flat internal network unusually hard for a SOC to detect?

Answers

  1. In a perimeter model the VPN places the attacker inside an implicit trust zone, where internal systems grant access based on network location and do not re-verify identity, device, or context — so the single stolen credential yields broad reach with no further challenge. In a zero-trust model there is no implicit trust zone: each resource independently evaluates and re-verifies every request, so a stolen credential gets the attacker only what that identity is explicitly authorized for, on a healthy device, in an acceptable context — not the whole interior. 2. Because the flat network is designed to permit internal host-to-host traffic; the attacker's pivots use allowed ports and look like ordinary internal communication, and because nothing makes a fresh authorization decision per access, there is little access-decision telemetry to alert on.

32.2 The tenets of zero trust (NIST SP 800-207)

Zero trust is full of vendor noise, so it is worth anchoring to the one document the entire field treats as canonical: NIST Special Publication 800-207, Zero Trust Architecture, published in 2020. It is vendor-neutral, it is free, and it is the reference every serious zero-trust conversation eventually returns to. It defines zero trust architecture (ZTA) as an enterprise's cybersecurity plan that uses zero-trust concepts and encompasses component relationships, workflow planning, and access policies — in plain terms, the concrete design and components that implement the never-trust-always-verify principle. Where Chapter 3 gave you zero trust as a way of thinking, 800-207 gives you zero trust as a set of design tenets and an architecture.

The document lists seven tenets. Memorize them; they appear on certification exams and, more importantly, they are the checklist you hold a real design against. Here they are, each in the standard's spirit with a defender's gloss:

  1. All data sources and computing services are resources. Everything you might want to protect — a database, an API, a SaaS app, a microservice, even an individual device — is a "resource" subject to access policy. There is no category of thing that gets a free pass.
  2. All communication is secured regardless of network location. Being "on the internal network" earns no trust and no reduced security. Traffic inside the data center is encrypted and authenticated exactly as traffic from the public internet would be. This tenet is the death of the implicit trust zone, stated formally.
  3. Access to individual enterprise resources is granted on a per-session basis. Trust is not granted once and kept. Each session gets the least privilege needed to complete its task, and access to one resource does not automatically grant access to another. This is the least-privilege session: the principle of least privilege (Chapter 3) applied not to a standing role but to a single, time-bound, narrowly-scoped session.
  4. Access is determined by dynamic policy — including the observable state of client identity, application/service, and the requesting asset, and may include other behavioral and environmental attributes. The decision is not a static rule like "members of group X may reach server Y." It folds in who (identity), what device (its security state), and what context (time, location, risk signals) — the subject of §32.3.
  5. The enterprise monitors and measures the integrity and security posture of all owned and associated assets. No asset is trusted inherently; the enterprise continuously assesses the health of devices and applications and uses that posture in access decisions. A device's right to access is contingent on its measured security state, not granted permanently at enrollment.
  6. All resource authentication and authorization are dynamic and strictly enforced before access is allowed. This is continuous verification: authentication and authorization are an ongoing cycle — scan, assess, re-evaluate, possibly re-challenge — not a one-time gate at the front door. Trust, once established, has a short shelf life and is constantly re-earned.
  7. The enterprise collects as much information as possible about the current state of assets, network infrastructure, and communications, and uses it to improve its security posture. Telemetry is not a byproduct; it is fuel. The data gathered from every access decision feeds back into the policy and the detection program (your Part V capabilities).

🔗 Connection: Read tenets 2 and 3 against the perimeter model of §32.1 and you can see zero trust is literally defined as the negation of implicit trust. Tenet 2 says location grants nothing; tenet 3 says trust is per-session and least-privilege. Together they remove the two things — inherited network trust and standing broad access — that made lateral movement free. The other five tenets describe how to make per-request decisions well: treat everything as a resource (1), decide dynamically using identity/device/context (4), measure device posture continuously (5), verify continuously and strictly (6), and learn from all of it (7).

How the tenets defeat the perimeter's failures

The tenets are not abstractions; each one closes a specific door the perimeter left open. It is worth seeing the mapping explicitly, because this is how you justify zero-trust work to a skeptical stakeholder who asks "but what does this actually buy us?":

Perimeter failure (§32.1) Tenet that closes it Effect on the attacker
Inside the wall is implicitly trusted 2 (secure all comms regardless of location) A foothold inside grants no automatic trust
One credential reaches everything 3 (per-session, least-privilege) + 4 (dynamic policy) A stolen credential reaches only what it's explicitly allowed, now
Compromised devices keep their access 5 (measure posture) + 6 (continuous verification) An unhealthy or anomalous device loses access mid-session
Lateral movement is invisible 1 (everything is a resource) + 7 (collect everything) Every access is a logged decision — pivots become visible

⚠️ Common Pitfall: Treating zero trust as "we bought a zero-trust product, so we're zero trust now." 800-207 describes an architecture and a set of tenets, not a SKU. No single product delivers all seven tenets; real zero trust is an integration of identity, device management, network controls, and policy that you assemble and operate over years. A vendor can sell you a ZTNA gateway or a policy engine — useful components — but if your internal network is still a flat implicit trust zone behind it, you have bought a nicer front door for the same trusting house. Hold every claim against the seven tenets.

🔄 Check Your Understanding: 1. Tenet 3 says access is "per-session" and least-privilege. How does this directly counter the "one credential reaches everything" failure of the perimeter model? 2. Which tenet most directly states that "being on the internal network" is worth nothing, and why is it the formal death of the implicit trust zone?

Answers

  1. Per-session least privilege means each session is granted only the minimum access needed for its specific task and that access to one resource does not propagate to others; a stolen credential therefore yields only the narrow, time-bound access that identity is explicitly authorized for for this session, not standing broad reach — so the attacker cannot parlay one credential into access to everything. 2. Tenet 2 ("all communication is secured regardless of network location"). It states that internal traffic is treated and secured exactly like external traffic, which means network location confers no trust or reduced security — precisely the property that defines an implicit trust zone, now negated.

32.3 Identity + device + context: the three signals

If network location is no longer the basis for trust, something has to replace it. That something is a combination of signals about each access request, and three of them carry most of the weight: who is asking (identity), what they are asking from (device), and under what circumstances (context). A mature zero-trust decision blends all three. Let us take each in turn, because designing good access policy means knowing what each signal can and cannot tell you.

Identity: the new perimeter

In a world with no network boundary, identity is the perimeter — a phrase you first met in Part IV, and the reason that part of the book exists. Zero trust does not invent identity controls; it consumes them. Everything you built in Chapters 16 through 18 becomes the foundation:

  • Strong, phishing-resistant authentication (Chapter 16) is the price of entry. Zero trust is only as strong as the proof of identity behind each request; a password-only login makes the rest of the architecture theater. FIDO2/passkeys are the gold standard precisely because they cannot be phished into an attacker's hands — the same property that saved Meridian in Chapter 1.
  • Authorization models (Chapter 17) — RBAC and especially ABAC — provide the policy logic. The 🔗 policy decision point (PDP) and policy enforcement point (PEP) you met in Chapter 17 are the mechanism of zero trust; §32.4 generalizes them into the full architecture.
  • Identity governance (Chapter 18) keeps the identity store clean. Zero trust trusts identities, so orphaned accounts, privilege creep, and stale entitlements are not hygiene nice-to-haves — they are direct holes in your security boundary. An over-privileged account in a zero-trust system is a wide-open door wearing a "verified" badge.

🔗 Connection: This is why Chapter 32 lists Chapters 16, 17, and 18 as prerequisites. Zero trust is, to a first approximation, identity-centric security: it takes the authentication, authorization, and governance you already built and makes them the primary basis for every access decision, replacing the network location that used to do that job. If your identity foundation is weak, you cannot build zero trust on top of it — you build it first, which is exactly what the roadmap in §32.6 does.

Device posture: is the endpoint healthy?

Identity tells you who; it does not tell you whether the laptop they are using is a hardened, managed, patched corporate machine or a malware-riddled personal device that happens to have valid credentials typed into it. That gap is closed by device posture: the measured security state of the device making a request — its patch level, disk encryption status, presence and health of endpoint protection (EDR), management/enrollment status, screen-lock and configuration compliance, and absence of indicators of compromise — used as an input to the access decision.

Device posture operationalizes tenet 5 (measure the integrity of all assets). Concretely, a posture check before granting access might ask:

  • Is the device enrolled and managed (by MDM/UEM, Chapter 14)? Unmanaged devices may get no access or only limited access.
  • Is the operating system patched to a required minimum (Chapter 11)?
  • Is disk encryption enabled (Chapter 5)?
  • Is EDR present and healthy (Chapter 11), reporting no active threats?
  • Does the device's configuration match the hardening baseline (the audit_baseline check from Chapter 11)?

The power of device posture is that it makes access contingent on health, and — critically — it can re-check during a session (continuous verification, tenet 6). A device that was healthy at login but whose EDR later reports a detection can have its access revoked mid-session. This is the zero-trust answer to the compromised-endpoint problem: a stolen credential on an unhealthy device gets you nothing, because the device fails the posture gate.

⚠️ Common Pitfall: Checking device posture only at login and never again. If posture is a one-time gate, an attacker who compromises a device after it has authenticated inherits a fully-trusted session for its entire lifetime — you have rebuilt a small implicit trust zone inside each session. Continuous verification (tenet 6) means posture is re-evaluated periodically and on significant events; the session's trust must be continually re-earned, not granted once at the door.

Context: the circumstances of the request

The third signal is everything about the request itself beyond the identity and the device. Context-aware access (sometimes called conditional access) is access control that incorporates contextual signals — time of day, geographic location, network reputation, the sensitivity of the resource, recent behavior, and computed risk — into the decision, allowing it to vary by circumstance rather than being a fixed yes/no per role. Context is what lets policy say:

  • This loan officer may approve wire transfers from a managed device, during business hours, from within the country — but a request to approve a wire at 3 a.m. from an unmanaged device in a foreign country is denied or step-up-challenged, even with valid credentials.
  • A login from a new device or impossible-travel location triggers an additional authentication factor before access is granted.
  • Access to highly sensitive resources demands a higher assurance level than access to a public brochure folder — the policy scales the scrutiny to the value at stake.

Context is where zero trust becomes dynamic (tenet 4). The same identity on the same device gets different decisions in different circumstances, because risk is not constant. This is also where behavioral analytics (the UEBA of Chapter 34, which this chapter sets up indirectly) feeds in: a computed anomaly score is just another context signal.

Blending the three: a worked policy decision

The three signals are inputs to a single decision. Here is how they combine in practice. Suppose Meridian's policy for its wire-transfer approval application — a crown-jewel resource — requires all of: a verified identity in the wire-approvers group, a managed device passing posture, and acceptable context (business hours, in-country, low risk score). Now trace three requests:

Resource policy: wire-transfer approval app
  REQUIRE  identity in group "wire-approvers"   (identity signal)
  AND      device managed AND posture = healthy  (device signal)
  AND      context risk acceptable:
             location in-country
             time within business hours
             risk_score below threshold          (context signal)
  THEN     GRANT least-privilege session (approve-only, 15-min, this app only)
  ELSE     DENY or STEP-UP

Request A: user=okafor  group=wire-approvers  device=managed,healthy
           location=in-country  time=10:14  risk=low
  -> identity OK, device OK, context OK  -> GRANT (scoped 15-min session)

Request B: user=okafor  group=wire-approvers  device=personal,UNMANAGED
           location=in-country  time=10:14  risk=low
  -> identity OK, device FAIL (unmanaged)  -> DENY (wrong device for this resource)

Request C: user=okafor  group=wire-approvers  device=managed,healthy
           location=FOREIGN  time=03:02  risk=HIGH (impossible travel)
  -> identity OK, device OK, context FAIL  -> STEP-UP then re-evaluate; likely DENY

Notice three things. First, valid credentials are necessary but not sufficient — Requests B and C have a legitimate, authenticated user and still fail, because identity is only one of three signals. This is the heart of "never trust, always verify": even a verified identity is verified against device and context, every time. Second, the grant is a least-privilege session: not "okafor is now logged in," but "this session may do the approve-only action, for fifteen minutes, on this one app." Third, the decision is dynamic — the same user and device get opposite answers in Requests A and C purely because the context changed. We will encode exactly this logic in zerotrust.py at the Project Checkpoint.

🔄 Check Your Understanding: 1. A user with valid, phishing-resistant credentials is denied access to a sensitive app. Give two distinct zero-trust reasons this can happen even though the identity is genuine. 2. Why must device posture be re-checked during a session and not only at login?

Answers

  1. (a) Device signal: the request comes from an unmanaged or unhealthy device that fails the posture gate (e.g., no EDR, out of patch compliance). (b) Context signal: the circumstances are risky or out of policy — impossible-travel location, off-hours, a high computed risk score, or a resource sensitivity that demands a higher assurance than the current context provides. Identity is necessary but not sufficient; it is verified against device and context every time. 2. Because a device healthy at login can be compromised mid-session; if posture is a one-time gate, an attacker who takes over the device after authentication inherits a fully-trusted session for its lifetime. Continuous verification (tenet 6) re-evaluates posture periodically and on events, so trust is continually re-earned and a session can be revoked the moment the device's health degrades.

32.4 PDP/PEP and ZTNA: the machinery of a decision

We now assemble the components that actually make and enforce the per-request decisions the tenets demand. The core abstraction comes straight from Chapter 17 and from 800-207, generalized into a full architecture.

The policy decision point and policy enforcement point, generalized

You met the 🔗 policy decision point (PDP) and policy enforcement point (PEP) in Chapter 17 as the brain and the hands of authorization: the PDP decides whether a request is allowed, and the PEP enforces that decision at the resource. Zero trust takes this exact split and makes it the spine of the architecture. NIST SP 800-207 names the pieces precisely, and you should use its vocabulary:

  • The policy engine (PE) is the component that makes the access decision. It takes the request, gathers the signals (identity, device posture, context, threat intelligence, computed risk), evaluates them against policy, and produces a verdict: grant, deny, or grant-with-conditions. The policy engine is the heart of the PDP.
  • The policy administrator (PA) is the component that executes the policy engine's decision — it establishes or tears down the communication path between the subject and the resource, issuing the credentials, tokens, or configuration the enforcement point needs to allow (or block) the session. The PE decides; the PA acts on the decision and tells the enforcement point what to do.
  • The policy enforcement point (PEP) sits in the data path between the subject and the resource and enforces what the PA instructs: it opens the connection for a granted session and blocks everything else. It is the gate; the PE/PA together are the brain that tells the gate when to open.

Together, the policy engine and policy administrator make up the policy decision point in zero-trust terms. Here is the canonical architecture as a labeled diagram — study it, because it is the mental model you will return to for the rest of the chapter:

              ZERO-TRUST ARCHITECTURE (NIST SP 800-207 logical model)

   CONTROL PLANE (makes & issues decisions)
   ┌──────────────────────────────────────────────────────────────┐
   │                                                              │
   │   ┌───────────────┐   decision    ┌────────────────────┐     │
   │   │ POLICY ENGINE │ ────────────► │ POLICY ADMINISTRATOR│     │
   │   │     (PE)      │   (grant/     │       (PA)         │     │
   │   │  evaluates    │    deny)      │  executes decision; │     │
   │   │  policy using │               │  configures the PEP │     │
   │   │  the signals  │               └─────────┬──────────┘     │
   │   └──────▲────────┘                          │ configure/      │
   │          │ signals                           │ issue session   │
   └──────────┼──────────────────────────────────┼─────────────────┘
              │                                   │
   ┌──────────┴───────────┐                       ▼
   │  POLICY INPUT SOURCES │            ┌────────────────────┐
   │  - identity / IdP     │            │ POLICY ENFORCEMENT │
   │  - device posture/MDM │            │     POINT (PEP)    │
   │  - threat intel       │            │  in the data path; │
   │  - SIEM / risk score  │            │  allows only the   │
   │  - context (time/geo) │            │  granted session   │
   │  - compliance/PKI     │            └─────┬──────────▲───┘
   └──────────────────────┘                   │ allowed   │ request
                                              │ session   │
   DATA PLANE                          ┌──────▼───────┐  ┌┴─────────┐
   (carries the traffic)               │  RESOURCE    │  │ SUBJECT  │
                                       │ (app / data /│◄─┤ (user +  │
                                       │  service)    │  │  device) │
                                       └──────────────┘  └──────────┘

Figure 32.1 — The zero-trust logical architecture. The control plane (PE + PA = the policy decision point) decides and issues; the data plane carries only sessions the PEP has been told to allow. The subject never reaches the resource directly — every request flows through enforcement, and every decision draws on the policy input sources on the left.

The crucial structural property — and the thing that defeats lateral movement — is in the diagram: the subject can never reach the resource directly. Every request traverses the PEP, and the PEP only opens a path the PA has authorized for a specific, evaluated, least-privilege session. There is no implicit trust zone for an attacker to land in, because there is no path that the PEP has not individually authorized. Compromise the subject's device and you still face a PEP that will only let you reach the one resource your session was granted, for as long as the session's trust holds.

🔗 Connection: This is the same PDP/PEP separation from Chapter 17, scaled up. In Chapter 17 the PDP/PEP decided whether a user could perform an action within an application. In zero trust, the same pattern decides whether a subject can reach a resource at all, across the whole environment, for every connection — and the decision is fed by far more signals (device posture, context, risk) than a static RBAC check. Zero trust did not invent the PDP/PEP; it promoted it from a feature inside one app to the organizing principle of the entire network.

ZTNA: zero trust applied to network access

The most visible, most-deployed piece of zero trust is zero-trust network access (ZTNA): a service that brokers access to individual applications based on identity, device posture, and context, granting a user a connection to a specific application only after a per-request policy decision — and never placing the user on the network at large. ZTNA is the practical replacement for the remote-access VPN, and it is usually where organizations start their zero-trust journey because the pain it relieves (the dangerous VPN-into-a-flat-network pattern of §32.1) is so acute.

The architectural idea behind ZTNA is the software-defined perimeter (SDP): an approach in which resources are hidden behind a broker and made invisible to unauthorized users — the resource's network location is not exposed to anyone until a policy decision has authorized that specific user and device to reach it. Instead of a fixed perimeter you stand inside, the "perimeter" is software-defined and drawn freshly around each authorized connection. Unauthorized users cannot even see the resource exists — it has no exposed listening port for them to scan or attack. This property is sometimes called a "dark" or "black" network: to an unauthenticated attacker, the protected resources are simply not there.

Here is a ZTNA access flow, traced step by step, so you can see every place a decision is made:

ZTNA ACCESS FLOW — user opens the loan-origination app from a laptop

 1. Client/agent on the laptop contacts the ZTNA BROKER (the PEP/PA).
    The app's real address is NOT published; the laptop cannot reach it yet.

 2. Broker triggers AUTHENTICATION via the IdP:
    - phishing-resistant MFA (FIDO2)              [identity signal]
    Result: identity verified as user=okafor, group=loan-officers.

 3. Broker queries DEVICE POSTURE (MDM/EDR):
    - managed? patched? disk-encrypted? EDR healthy?  [device signal]
    Result: device managed and healthy -> passes.

 4. POLICY ENGINE evaluates the full request:
    - identity in loan-officers?  yes
    - device posture healthy?     yes
    - context: in-country, business hours, risk low?  yes
    Decision: GRANT, scoped to the loan-origination app only.

 5. POLICY ADMINISTRATOR establishes a session:
    - opens an authorized, encrypted tunnel from laptop -> THIS APP ONLY
    - issues a short-lived session token (least-privilege session)
    The laptop still cannot reach ANY other internal resource.

 6. CONTINUOUS VERIFICATION during the session:
    - posture re-checked periodically; context re-evaluated
    - if EDR fires, or risk spikes, the PA TEARS DOWN the session

Walk through what an attacker faces here. They cannot scan for the app — step 1 hides it (SDP). They cannot pass step 2 without phishing-resistant credentials. If they somehow have credentials, step 3 stops them unless they are on a managed, healthy device. If they clear both, step 4's context check still catches anomalous circumstances. And even a granted session is confined in step 5 to one app — no lateral movement is possible, because the tunnel reaches nothing else — and is continuously re-verified in step 6. Every stage that the perimeter VPN lacked is present here, which is exactly why ZTNA contains the breach that the VPN enabled.

ZTNA versus the legacy VPN

The contrast is the clearest single illustration of zero trust's value, and it is a standard exam comparison:

Dimension Legacy remote-access VPN ZTNA
What you get on connection A network address on the internal LAN A connection to one authorized application
Trust model Authenticate once → broad network access Per-request decision per resource
Lateral movement Easy — you're on the flat network Blocked — you reach only the granted app
Resource visibility Internal services are reachable/scannable Resources hidden until authorized (SDP)
Device posture Often none, or login-time only Required, and continuously re-checked
Context awareness Minimal Central to every decision
Blast radius of a stolen credential The whole internal network One app, on a healthy device, in-context, briefly

The single most important row is lateral movement. A VPN's entire job is to put you on the network; ZTNA's entire job is to never put you on the network and instead broker access to one resource at a time. That difference is the difference between the breach in §32.1's war story and a contained incident.

⚠️ Common Pitfall: Calling a VPN "zero trust" because it requires MFA. Adding MFA to a VPN strengthens the front door (the identity signal) but changes nothing about what happens after you're through it — you are still deposited onto a flat network with broad reach. Strong authentication is necessary for zero trust but nowhere near sufficient; the defining move is replacing network-level access with per-resource, continuously-verified, least-privilege brokered access. If a stolen-but-MFA-passing credential still yields the whole LAN, it is not zero trust.

🔄 Check Your Understanding: 1. In the SP 800-207 model, which component decides and which enforces? Where does the policy administrator fit? 2. A ZTNA deployment hides applications behind a broker (software-defined perimeter). What specific attacker capability does this remove that a VPN-exposed internal network does not?

Answers

  1. The policy engine (PE) decides (grant/deny/conditional), drawing on identity, device, and context signals; the policy enforcement point (PEP), sitting in the data path, enforces by allowing only the granted session and blocking everything else. The policy administrator (PA) is the bridge: it executes the PE's decision by establishing or tearing down the session and configuring the PEP. PE + PA together form the policy decision point. 2. It removes reconnaissance and direct network reachability: because the resource's address is not published and no listening port is exposed to unauthorized users, an attacker cannot scan for, discover, or directly attack the resource at all — it is invisible until a policy decision authorizes a specific user/device. A VPN-exposed internal network leaves services reachable and scannable to anyone who is on the network.

32.5 Microsegmentation revisited

ZTNA handles a user reaching an application. But zero trust applies just as much to machines talking to machines inside the data center and cloud — server to server, service to service, workload to workload. The control for that is microsegmentation, which you first met in Chapter 7. Here we revisit it through the zero-trust lens, because it is how you apply never-trust-always-verify to east-west traffic.

From segmentation to microsegmentation

Recall the network segmentation of Part II (Chapters 6 and 7): you divide the network into zones — a cardholder zone, a corporate zone, a DMZ — separated by firewalls, so a compromise in one zone does not automatically reach another. 🔗 Microsegmentation (Chapter 7) takes this idea to its logical extreme: instead of a handful of large zones, you draw policy boundaries around individual workloads — a single server, a single application tier, even a single container — and default-deny all traffic between them unless a policy explicitly allows it.

The difference is one of granularity, and the granularity is the whole point:

PERIMETER SEGMENTATION (Part II)        MICROSEGMENTATION (zero trust)

 ┌──────── CORPORATE ZONE ────────┐      web1 ──(allow:443)──► app1
 │  web1   app1   db1   wiki  ...  │      app1 ──(allow:5432)─► db1
 │   ▲       │      ▲      │       │      wiki  ──(deny all)──► db1   ✗
 │   └───────┴──────┴──────┘       │      web1 ──(deny all)──► db1   ✗
 │  FLAT INSIDE the zone:          │      app1 ──(deny all)──► wiki  ✗
 │  any host -> any host allowed   │
 └────────────────────────────────┘      Each flow is individually
                                          allowed or DENIED by identity
 One firewall guards the zone EDGE;       and policy — a tiny perimeter
 inside, it's an implicit trust zone.     around every workload.

Figure 32.2 — Perimeter segmentation guards the edge of a large zone but leaves the interior flat (an implicit trust zone). Microsegmentation draws a policy boundary around each workload and default-denies between them, so a compromise of web1 cannot reach db1 unless an explicit policy allows that exact flow.

In the left model, an attacker who compromises web1 can freely reach db1, wiki, and every other host in the corporate zone — the zone's interior is a flat implicit trust zone, and the single edge firewall does nothing about traffic within the zone. In the right model, web1 is allowed to talk only to app1 on port 443; its attempt to reach db1 is denied by policy because no rule permits it. The attacker's foothold on web1 reaches almost nothing. This is defense in depth (Theme 4) applied at the finest grain: every workload assumes its neighbors may be compromised.

How microsegmentation defeats lateral movement

This is the east-west counterpart to ZTNA's north-south containment, and it is the second half of zero trust's answer to lateral movement:

  • Default-deny between workloads means that an attacker who compromises one server cannot reach others by default. Each pivot requires an explicitly-allowed path, and most paths are not allowed.
  • Identity-based segmentation — increasingly, policies are written in terms of workload identity (Chapter 20's machine identity), not just IP addresses. A policy says "the web tier's workload identity may reach the app tier," which holds even as IP addresses change in a dynamic cloud environment, and which a spoofed IP cannot satisfy.
  • The blast radius collapses. In the §32.1 breach, lateral movement from one workstation reached the entire interior. Under microsegmentation, that same foothold reaches only the handful of flows that workstation legitimately needs — turning a catastrophic breach into a contained one.

🛡️ Defender's Lens: Microsegmentation is also a detection engine, not just a prevention control. Because every inter-workload flow is now subject to an explicit allow/deny policy, denied flows are high-signal events. When web1 suddenly tries to reach db1 — a flow that policy denies and that should never happen — that denial is a near-certain indicator of compromise or misconfiguration, exactly the kind of alert you want feeding the SIEM (Chapter 21) and your detection program (Chapter 22). The perimeter model's flat interior produced no such signal; microsegmentation turns every illegitimate pivot attempt into an alert.

⚠️ Common Pitfall: Trying to microsegment everything at once, by hand, on day one. Microsegmentation fails most often not technically but operationally: teams attempt a big-bang rollout, discover they do not actually know which workloads legitimately talk to which, and either break production or give up and write overly-broad "allow" rules that recreate the flat network. The disciplined approach is to map flows first (observe and baseline real traffic for weeks), start with the highest-value crown-jewel workloads (segment the cardholder database before the print server), and tighten iteratively. Microsegmentation is a journey within the journey.

🔄 Check Your Understanding: 1. How does microsegmentation differ from the perimeter network segmentation of Part II, and why does that difference matter for lateral movement? 2. Why is a denied east-west flow under microsegmentation a valuable detection signal, when the same traffic in a flat network produced no signal at all?

Answers

  1. Perimeter segmentation divides the network into a few large zones guarded at their edges, but leaves each zone's interior flat — an implicit trust zone where any host can reach any other. Microsegmentation draws policy boundaries around individual workloads and default-denies traffic between them, so a compromise of one workload cannot reach others unless an explicit policy allows that exact flow. This collapses the blast radius: lateral movement that would traverse a whole flat zone is instead confined to the few legitimate flows a workload needs. 2. Because under microsegmentation every inter-workload flow is governed by an explicit allow/deny policy, a denied flow represents traffic that policy says should never occur — a high-signal indicator of compromise or misconfiguration. In a flat network the same host-to-host traffic was permitted by default and generated no decision and no alert, so the pivot was invisible; microsegmentation turns each illegitimate attempt into a loggable, alertable denial.

32.6 A realistic zero-trust roadmap for Meridian

Everything so far is architecture. Now we make it a plan, because the way zero trust most often fails is not in the design but in the rollout: an organization buys a "zero-trust solution," declares victory, and discovers two years later that its interior is still flat. Zero trust is a multi-year program, and the most important thing an architect can do is sequence it so each phase delivers real risk reduction and builds the foundation for the next. This is Meridian's roadmap, and it doubles as your Project Checkpoint's program increment.

Start from honesty: a maturity assessment

You cannot plan a journey without knowing your starting point. The U.S. Cybersecurity and Infrastructure Security Agency (CISA) publishes a Zero Trust Maturity Model that organizes zero trust into pillars — Identity, Devices, Networks, Applications and Workloads, and Data — supported by cross-cutting capabilities (Visibility and Analytics, Automation and Orchestration, Governance) — and rates each pillar across maturity stages (Traditional → Initial → Advanced → Optimal). It is the natural companion to NIST SP 800-207: where 800-207 gives the architecture, CISA's model gives the yardstick for how far along you are. Meridian's honest self-assessment looks like this:

Pillar Meridian today Target (3-year) Gap
Identity MFA partial; SSO via Entra; some legacy passwords Phishing-resistant MFA everywhere; ABAC policy Eliminate password-only auth; clean entitlements
Devices MDM on mobile; patchy posture on laptops Managed + posture-gated access for all endpoints Build device-posture pipeline
Networks Flat internal LAN; VPN for remote ZTNA for apps; microsegment crown jewels Replace VPN; segment CDE, AD, core
Applications Internal apps trust the network Per-app brokered access via PDP/PEP Front apps with ZTNA/PEP
Data Classified for PCI; coarse access Policy-aware access tied to data sensitivity Tie access decisions to data labels

🔗 Connection: Notice that this table is, in effect, the table of contents of Meridian's whole security program. Identity maturity is the work of Chapters 16–18; device posture is Chapters 11 and 14; network segmentation is Chapters 6 and 7; the whole thing rests on the identity foundation those chapters built. Zero trust is not a new program bolted on — it is the organizing architecture that ties together the controls you have been building all along and points them at every access decision.

The phased roadmap

Sequence matters enormously, and the ordering principle is: identity first, then device, then network, hardest workloads last. You cannot make good per-request decisions without trustworthy identity and device signals, so those come first; and you segment the crown jewels before the print server, because risk reduction should be front-loaded.

MERIDIAN ZERO-TRUST ROADMAP (illustrative 3-year sequencing)

PHASE 1 — IDENTITY FOUNDATION  (months 0-9)   "make identity trustworthy"
  - phishing-resistant MFA (FIDO2) for ALL staff; kill password-only auth
  - clean up entitlements: remove orphaned/over-privileged accounts (Ch.18)
  - consolidate to SSO; begin ABAC policy for sensitive apps (Ch.17)
  WHY FIRST: every later decision depends on a trustworthy identity signal.

PHASE 2 — DEVICE POSTURE  (months 6-15)        "make device health a gate"
  - enroll all endpoints in MDM/UEM; build a posture pipeline (Ch.11,14)
  - require managed + healthy device for sensitive-resource access
  - feed posture into the policy engine as an input signal
  WHY NEXT: identity + device are two of the three signals; now decisions can be real.

PHASE 3 — ZTNA FOR APPLICATIONS  (months 12-24) "retire the flat-VPN risk"
  - stand up a PDP/PEP broker; front internet-facing & remote apps with ZTNA
  - replace the remote-access VPN with per-app brokered access (SDP)
  - context-aware policy: location, time, risk score
  WHY NOW: with identity + device solid, brokered per-app access is trustworthy.

PHASE 4 — MICROSEGMENTATION OF CROWN JEWELS (months 18-36) "contain east-west"
  - map flows; microsegment the CDE, Active Directory, and core-banking first
  - default-deny between workloads; identity-based segmentation where possible
  - expand outward iteratively from highest-value assets
  WHY LAST: hardest, riskiest to production; do it once the foundation can support it.

CROSS-CUTTING (all phases): visibility/analytics (feed SIEM), governance, automation.

Figure 32.3 — Meridian's phased zero-trust roadmap. Phases overlap but are ordered by dependency: trustworthy identity (1) enables real device-gated decisions (2), which enable trustworthy brokered app access (3), which makes aggressive east-west segmentation (4) safe to attempt. Each phase reduces risk on its own; together they remove the implicit trust zone.

Three properties make this roadmap realistic rather than aspirational, and they are the lessons to carry into any real migration:

  1. Each phase delivers standalone value. Phase 1 alone — phishing-resistant MFA and clean entitlements — is a large risk reduction even if you never finish the rest. You are never one all-or-nothing cutover away from value; you ratchet risk down phase by phase. This is also how you keep funding: each phase is a defensible budget line with measurable risk reduction (Chapter 36 turns these into board metrics).
  2. The order respects dependency. You cannot gate on device posture (Phase 2) until you can trust identity (Phase 1), and you cannot safely broker per-app access (Phase 3) until both identity and device signals are real. Trying Phase 4 first — microsegmenting a flat network you do not understand — is the classic way to break production and discredit the whole program.
  3. Legacy is accommodated, not ignored. Meridian's core-banking system is too old to participate in modern identity flows. A pragmatic roadmap does not pretend otherwise: it wraps such systems behind a PEP/broker and microsegments tightly around them (Phase 4) rather than demanding they be rewritten. Zero trust meets the real environment where it is.

⚠️ Common Pitfall: Selling zero trust to the board as a destination with a finish line ("we will be zero trust by Q4"). Zero trust is a maturity direction, not a binary state you arrive at. Framing it as a one-time project invites the worst outcomes: a rushed cutover, a declared victory that doesn't match reality, and a defunded program once the "project" is "done." Frame it instead as a multi-year posture improvement with phase-by-phase risk reduction and ongoing operation — which is both honest and, as Chapter 36 shows, far easier to keep funded.

🔗 Connection: This roadmap is also Meridian's bridge to Chapter 33. The microsegmentation discipline of Phase 4 — mapping flows, default-deny between zones, accommodating legacy systems that cannot be patched or modernized — is exactly the discipline you will need for operational technology, where the "legacy systems you cannot change" problem is the central fact of the environment, not an edge case. Zero trust's pragmatic accommodation of the un-modernizable is a rehearsal for OT security.

🔄 Check Your Understanding: 1. Why does the roadmap put identity (Phase 1) before microsegmentation (Phase 4), rather than starting with the network where lateral movement happens? 2. Give one reason framing zero trust as a project with a finish line is dangerous, and state the better framing.

Answers

  1. Because every zero-trust access decision depends on trustworthy identity and device signals; you cannot make good per-request decisions — and therefore cannot safely replace network-location trust with policy-based trust — until identity is strong (Phase 1) and device posture is measurable (Phase 2). Microsegmenting first means imposing default-deny on a flat network you do not yet understand, with weak identity underneath, which tends to break production and discredit the program. Sequencing by dependency front-loads risk reduction and makes each later phase safe. 2. A finish-line framing invites a rushed cutover, a premature "victory" that doesn't match the still-flat reality, and a defunded program once the "project" is declared done; the better framing is zero trust as a multi-year maturity direction with phase-by-phase, independently-valuable risk reduction and ongoing operation.

Project Checkpoint

This chapter contributes Meridian's zero-trust target architecture to the security program and the zerotrust.py module to bluekit.

Program increment — zero-trust target architecture and roadmap. Sam Whitfield, Meridian's architect, takes the bank's existing controls — the phishing-resistant MFA from Chapter 16, the access-control policy from Chapter 17, the identity governance from Chapter 18, the network segmentation from Chapters 6–7 — and reframes them as a coherent zero-trust architecture rather than a pile of independent controls. The deliverable Sam adds to the program document is a three-year zero-trust roadmap (Figure 32.3) anchored to the CISA maturity pillars, with a target-architecture diagram (Figure 32.1) showing Meridian's PDP/PEP, the ZTNA broker replacing the VPN, and the crown-jewel workloads (CDE, AD, core-banking) marked for microsegmentation. Crucially, the increment is framed for the board as a maturity direction with phased, independently-valuable risk reduction, not a purchase — the framing that keeps it funded (and that Chapter 36 will turn into metrics). This is the artifact named "zero-trust roadmap" in the program build order.

bluekit increment — zerotrust.py. We encode the policy-decision logic from §32.3: a policy_decision(subject, resource, context) function that is, in miniature, a policy engine. It blends the three signals — identity, device posture, context — and returns a verdict plus the reason, exactly mirroring Requests A/B/C from §32.3. As always, the code is illustrative and never executed during authoring; the hand-traced result is in the # Expected output: comment.

# bluekit/zerotrust.py  — Chapter 32 increment
"""A miniature policy engine: never trust, always verify.

policy_decision blends three signals — identity, device posture, context —
and returns (verdict, reason). Mirrors the wire-approval policy of section 32.3.
Resources carry their own required group, device, and context rules.
"""

def policy_decision(subject: dict, resource: dict, context: dict) -> tuple:
    """Return (verdict, reason): 'GRANT', 'STEP_UP', or 'DENY'."""
    # 1. Identity signal: subject must be in the resource's required group.
    if resource["required_group"] not in subject.get("groups", []):
        return ("DENY", "identity: not in required group")
    # 2. Device signal: posture gate (managed + healthy) if the resource needs it.
    if resource.get("require_managed_device"):
        if not (subject.get("device_managed") and subject.get("device_healthy")):
            return ("DENY", "device: unmanaged or unhealthy")
    # 3. Context signal: location, hours, and computed risk.
    if context.get("location") not in resource.get("allowed_locations", []):
        return ("STEP_UP", "context: location not pre-approved")
    if context.get("risk_score", 0) >= resource.get("risk_threshold", 100):
        return ("STEP_UP", "context: risk score too high")
    # All three signals pass -> least-privilege session.
    return ("GRANT", "least-privilege session granted")


if __name__ == "__main__":
    wire_app = {"required_group": "wire-approvers", "require_managed_device": True,
                "allowed_locations": ["in-country"], "risk_threshold": 70}
    base = {"groups": ["wire-approvers"], "device_managed": True, "device_healthy": True}
    print(policy_decision(base, wire_app, {"location": "in-country", "risk_score": 10}))
    print(policy_decision({**base, "device_managed": False}, wire_app,
                          {"location": "in-country", "risk_score": 10}))
    print(policy_decision(base, wire_app, {"location": "foreign", "risk_score": 90}))

# Expected output:
# ('GRANT', 'least-privilege session granted')
# ('DENY', 'device: unmanaged or unhealthy')
# ('STEP_UP', 'context: location not pre-approved')

Read what these twenty-odd lines enforce. Request 1 passes all three signals and is granted a least-privilege session. Request 2 has a valid identity but an unmanaged device, so it is denied — the embodiment of "never trust, always verify": authentication is not enough. Request 3 has valid identity and a healthy device but a foreign location, so it is stepped up rather than silently granted. The function never grants on identity alone, never grants permanently, and always returns its reason — which is what makes its decisions auditable and feedable to the SIEM. You have written a working, if tiny, policy engine: the brain of a zero-trust architecture.

Summary

This chapter turned the zero-trust principle of Chapter 3 into a zero-trust architecture.

  • The perimeter model failed because it treated network location as a proxy for trust. Once data, people, and devices moved outside any wall — and because the interior was never truly safe — an attacker who gained one foothold inherited the interior's implicit trust zone and moved laterally to everything. Trust based on location is the vulnerability.
  • Zero trust architecture (ZTA), defined by NIST SP 800-207, replaces location-based trust with per-request verification. Its seven tenets: (1) everything is a resource; (2) secure all communication regardless of location; (3) per-session, least-privilege access; (4) dynamic policy from identity/device/context; (5) continuously measure asset posture; (6) dynamic, strict, continuous verification before access; (7) collect everything and learn from it.
  • Access decisions blend three signals: identity (the new perimeter — phishing-resistant authN, authZ, clean governance from Part IV), device posture (managed, patched, healthy — re-checked continuously), and context-aware circumstances (time, location, risk). Valid credentials are necessary but never sufficient.
  • The policy engine (PE) decides, the policy administrator (PA) executes the decision, and the policy enforcement point (PEP) enforces it in the data path; PE + PA = the policy decision point. The subject never reaches the resource directly — which is what removes the implicit trust zone.
  • ZTNA brokers access to one application at a time after a per-request decision, hiding resources behind a software-defined perimeter and never placing the user on the network — unlike a VPN, it blocks lateral movement and collapses a stolen credential's blast radius.
  • Microsegmentation applies the same logic to east-west traffic: default-deny policy boundaries around individual workloads, so a compromised server cannot reach its neighbors, and every denied flow becomes a detection signal.
  • A realistic roadmap sequences the work by dependency — identity → device → ZTNA → microsegmentation of crown jewels — delivers standalone value each phase, accommodates legacy systems, and is framed as a multi-year maturity direction (CISA Zero Trust Maturity Model), never a one-time purchase.

Spaced Review

Retrieve before you continue. These revisit Chapter 17 (authorization) and Chapter 7 (the perimeter and microsegmentation), the foundations this chapter built on.

  1. (from Chapter 17) Distinguish the policy decision point from the policy enforcement point as you learned them for application authorization. In zero trust, what does the policy administrator add between them, and why is the PE/PA/PEP split the thing that prevents a subject from reaching a resource directly?
  2. (from Chapter 17) RBAC grants access by static role; ABAC grants it by evaluating attributes. Why is ABAC, not RBAC, the natural policy model for a zero-trust decision that must fold in device posture and context?
  3. (from Chapter 7) In Part II you learned network segmentation into zones. State the difference between that perimeter segmentation and microsegmentation, and explain why only the latter contains lateral movement inside a zone.
  4. (from Chapter 7 and 32) A legacy VPN and a ZTNA broker both authenticate remote users. Name the single most important behavioral difference between them and the attacker capability it removes.
Answers 1. The PDP *decides* whether a request is allowed; the PEP *enforces* that decision at the resource. In zero trust the **policy administrator (PA)** sits between them: it executes the policy engine's decision by establishing or tearing down the session and configuring the PEP with the credentials/path for exactly the granted session. The split matters because the PEP sits in the data path and opens *only* sessions the PA has authorized — the subject never has a direct route to the resource, so there is no implicit trust zone to land in. 2. Because RBAC decides on role alone, a static attribute fixed in advance, whereas a zero-trust decision must be dynamic — incorporating device health, location, time, and computed risk, which vary per request. ABAC evaluates exactly such attributes at decision time, so it can express "this role *and* a managed device *and* an in-country, low-risk context," which RBAC cannot. 3. Perimeter segmentation divides the network into a few large zones guarded at their edges but leaves each zone's interior flat (any host can reach any other) — an implicit trust zone. Microsegmentation draws default-deny policy boundaries around individual workloads, so a compromise of one host cannot reach others unless an explicit policy allows that exact flow. Only microsegmentation governs traffic *within* a zone, so only it contains lateral movement there. 4. The VPN places the user *on the internal network* (broad reach, lateral movement possible); the ZTNA broker grants a connection to *one authorized application only* and never puts the user on the network — removing the attacker's ability to move laterally and, via the software-defined perimeter, to even discover or reach any other resource.

What's Next

You have now built zero trust as a general architecture for an enterprise of users, devices, applications, and cloud workloads — an environment where you can demand strong identity, managed devices, and modern protocols. Chapter 33 takes you somewhere the modern assumptions break down: operational technology — the industrial control systems, SCADA, and programmable logic controllers that run physical processes like pipelines, power grids, and the physical-security systems in Meridian's own facilities. There, the priorities invert (safety and availability come before confidentiality), devices may be decades old and unpatchable, and "just deploy an agent" is often impossible. You will find that zero trust's most pragmatic instincts — default-deny segmentation, wrapping the un-modernizable behind enforcement points, monitoring passively because you cannot intervene — are exactly the instincts OT security demands. The journey from the post-perimeter enterprise to the physical world is the subject of the next chapter.