liveBook · Manning

Zero-trust networking

As explained in Software Security for Developers

The zero-trust principle is a security approach that requires continuous verification and grants no implicit trust based on network location or prior access.

Zero-trust networking treats every request as untrusted, even when it comes from inside the network. Each user, device, and service must prove its identity before access is granted. This replaces network-location assumptions with continuous verification and explicit authorization. section 16.1 section 16.4

A forged service request

Suppose an exposed Kubernetes debug pod reaches an order, billing, and user service. If billing trusts a header such as X-Service-Name: order-service, an attacker can imitate the order service, create fake invoices, alter amounts, or obtain billing data. A zero-trust design verifies service identity, authenticates the request, and checks whether that service is authorized for the requested action. Options include token verification, request signing, or a service mesh that applies mTLS and identity checks outside application code. section 16.1 section 16.4

A practical zero-trust boundary distinguishes these responsibilities:

  • Identity states who the calling service claims to be; authentication checks whether that claim is true. section 16.4
  • Authorization determines whether the authenticated service may perform the requested action. section 16.4
  • Trust anchors, such as certificate authorities or token issuers, vouch for identities. section 16.4
Figure 16.1 In a system, multiple services communicate to solve various use cases. If the communication isn’t secure, attackers may exploit vulnerabilities and alter or steal data.
figure

Use the service-communication diagram to trace how unverified internal traffic can expose or alter data. section 16.1

How Software Security for Developers covers it

How deep it goes
Explains the principle through a concrete impersonation failure and surveys tokens, signing, mTLS, gateways, and replay protection.
Examples
Uses a Kubernetes debug pod, forged service header, fake invoices, request signing, and service-mesh sidecars.
What it assumes
Assumes basic service communication while teaching service identity, authentication, authorization, and trust anchors explicitly.
What you can do after
Apply it by requiring verifiable service identity, authenticating every request, enforcing authorization, and rejecting replayed credentials.
How it connects
Connects service identity with authentication, authorization, trust anchors, OAuth2, API gateways, service meshes, and mTLS.

Also explained in

Compare how 6 books explain zero-trust networking →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Software Security for Developers. The section links point to the parts of the book it draws on.