Zero Trust Architecture
Zero Trust is a security model based on the principle "never trust, always verify." It assumes that threats exist both outside and inside the network, and every access request must be authenticated, authorized, and encrypted.
The End of Perimeter Security
Core Principles
1. Verify Explicitly
Always authenticate and authorize based on all available data points: identity, location, device health, service, data classification, anomalies.
2. Use Least Privilege Access
Limit user access with just-in-time (JIT) and just-enough-access (JEA). Risk-based adaptive policies that respond to context.
3. Assume Breach
Minimize blast radius with segmentation. Verify end-to-end encryption. Use analytics to detect threats and improve defenses.
Zero Trust Pillars
Identities
- β’ Strong authentication (MFA)
- β’ Passwordless when possible
- β’ Conditional access policies
- β’ Identity governance
Devices
- β’ Device inventory
- β’ Compliance checking
- β’ Endpoint detection
- β’ Mobile device management
Applications
- β’ Shadow IT discovery
- β’ In-app permissions
- β’ Runtime monitoring
- β’ API security
Data
- β’ Data classification
- β’ Encryption everywhere
- β’ DLP policies
- β’ Access tracking
Infrastructure
- β’ JIT VM access
- β’ Micro-segmentation
- β’ Threat detection
- β’ Config management
Networks
- β’ Network segmentation
- β’ Encrypt all traffic
- β’ Real-time threat protection
- β’ No implicit trust zones
Zero Trust Network Access (ZTNA)
ZTNA replaces VPNs with identity-aware, context-aware access to specific applications rather than entire network segments.
β Traditional VPN
- β’ Full network access after auth
- β’ Implicit trust of VPN users
- β’ Lateral movement possible
- β’ Performance bottlenecks
- β’ Binary access model
β ZTNA
- β’ App-specific access only
- β’ Continuous verification
- β’ No lateral movement
- β’ Cloud-native scaling
- β’ Granular policies
Policy Engine Architecture
Zero Trust Policy Engine Architecture
Implementation Steps
Identify Protected Surfaces
Map critical data, applications, assets, and services (DAAS).
Map Transaction Flows
Understand how users and apps access protected surfaces.
Architect Zero Trust Network
Deploy micro-perimeters around each protected surface.
Create Zero Trust Policies
Define who/what/when/where/why/how for access (Kipling Method).
Monitor and Maintain
Continuous logging, analytics, and policy refinement.
NIST SP 800-207
Practical: OPA Policy for Zero Trust Access
package zerotrust.access
import rego.v1
default allow := false
# Require ALL conditions for access (never trust, always verify)
allow if {
identity_verified
device_compliant
context_acceptable
permission_granted
}
# Identity must be authenticated with MFA
identity_verified if {
input.identity.authenticated == true
input.identity.mfa_verified == true
time.now_ns() < input.identity.token_expiry_ns
}
# Device must meet compliance baseline
device_compliant if {
input.device.managed == true
input.device.os_patched == true
input.device.encryption_enabled == true
input.device.edr_running == true
input.device.risk_score < 50
}
# Context checks: location, time, behavior
context_acceptable if {
not input.context.impossible_travel
input.context.risk_score < 70
}
# RBAC + resource-level check
permission_granted if {
required_role := data.resource_roles[input.resource.path][input.method]
required_role == input.identity.roles[_]
}package zerotrust.access
import rego.v1
default allow := false
# Require ALL conditions for access (never trust, always verify)
allow if {
identity_verified
device_compliant
context_acceptable
permission_granted
}
# Identity must be authenticated with MFA
identity_verified if {
input.identity.authenticated == true
input.identity.mfa_verified == true
time.now_ns() < input.identity.token_expiry_ns
}
# Device must meet compliance baseline
device_compliant if {
input.device.managed == true
input.device.os_patched == true
input.device.encryption_enabled == true
input.device.edr_running == true
input.device.risk_score < 50
}
# Context checks: location, time, behavior
context_acceptable if {
not input.context.impossible_travel
input.context.risk_score < 70
}
# RBAC + resource-level check
permission_granted if {
required_role := data.resource_roles[input.resource.path][input.method]
required_role == input.identity.roles[_]
}CISA Zero Trust Maturity Model
| Pillar | Traditional | Advanced | Optimal |
|---|---|---|---|
| Identity | Passwords, basic MFA | Phishing-resistant MFA | Continuous validation, passwordless |
| Devices | Inventory exists | Compliance enforced | Real-time risk scoring, auto-remediation |
| Networks | Macro-segmentation | Micro-segmentation | Encrypted everywhere, no implicit trust |
| Applications | Some cloud integration | SSO + context-aware access | Per-request authz, runtime monitoring |
| Data | Basic classification | Auto-classification, DLP | Granular controls per datum, full lineage |
Migration Strategy: VPN to Zero Trust
Phase 1: Foundation (Months 1-3)
- β’ Inventory all users, devices, and applications
- β’ Deploy centralized identity provider with MFA
- β’ Map application access patterns and dependencies
- β’ Start with low-risk applications (e.g., SaaS apps)
Phase 2: Expand (Months 4-8)
- β’ Deploy ZTNA proxy for internal web apps
- β’ Implement device compliance checking
- β’ Add conditional access policies (location, risk)
- β’ Run VPN and ZTNA in parallel β migrate app by app
Phase 3: Optimize (Months 9-12)
- β’ Decommission VPN for migrated apps
- β’ Enable micro-segmentation in production
- β’ Deploy continuous verification and adaptive policies
- β’ Measure: mean time to detect (MTTD), mean time to contain (MTTC)
Zero Trust Tools & Platforms
Identity Providers
Okta, Azure AD, Google Workspace, Ping Identity
ZTNA Solutions
Zscaler, Cloudflare Access, Palo Alto Prisma, Akamai EAA
Micro-Segmentation
Illumio, VMware NSX, Guardicore, Cisco Tetration
Policy Engines
Open Policy Agent (OPA), AWS Cedar, Styra DAS
Framework Alignment
NIST CSF 2.0: PR.AC (Access Control), PR.DS (Data Security), DE.CM (Continuous Monitoring)
CISA: Zero Trust Maturity Model v2.0 (5 pillars: Identity, Devices, Networks, Applications, Data)
CIS Controls v8.1: 6 (Access Control), 12 (Network), 13 (Monitoring)
Related: Security Frameworks β | Reference Architectures β