Free & open · no paywall, ever

IntegrAuth Academy

Identity, security and practical AI — free, from zero. Byte-sized lessons, real diagrams, hands-on labs, zero fluff. Two programs, each with its own exam and certificate.

20 tracks 241 lessons 242 hands-on labs 230+ diagrams 100% free

English is hard? Your browser can translate this page into Tamil, Telugu, Kannada, Malayalam or Hindi. Tech words stay in English so you learn the real names.

How?
  • Chrome on phone: ⋮ menu → Translate
  • Chrome on computer: right-click → Translate to …
  • Edge: the translate icon in the address bar
Identity & API Security Track 12 · Cloud & Workload Identity
0/166 lessons read
CLOUD & WORKLOAD · LESSON 3

SPIFFE & SVIDs — identity for services

Inside one system, dozens of services call each other every second. A request reaches service B and says "I am A". Your goal: learn how B can check that this is true, and not an imposter on the network.

Key points
  • Every call between services needs its own proof.
  • A SPIFFE ID is the name. An SVID is the short-lived proof.
  • The platform vouches for a workload, so no secret is planted.
  • Mutual TLS: both ends show and check an SVID.
  • SVIDs expire fast and renew by themselves.

Zero trust, but for machines

In zero trust, you never assume the network is safe. You check every request. The same rule applies to non-human identities, such as services and jobs.

A network that trusts anything inside the firewall is soft inside. One foothold lets an attacker pretend to be any service. So every call needs its own proof.

SPIFFE IDs and SVIDs

SPIFFE is an open standard that gives workloads identities they can prove. Two pieces matter.

First, the SPIFFE ID. It is a name shaped like a web address, for example spiffe://example.org/billing. It says which trust domain the workload belongs to, and which service it is.

Second, the SVID, the SPIFFE Verifiable Identity Document. It is the short-lived credential that proves a workload owns that ID. An SVID is either an X.509 certificate, used for mutual TLS, or a signed JWT. Prefer the certificate. The signed-token form is a bearer token, which anyone can replay. The Go deeper block below says when to use it.

Attestation: earning an SVID with no planted secret

A workload must not start with a secret. That secret would be one more thing to leak. Instead, the workload goes through attestation. At startup, the platform it runs on vouches for what it is. The node, the signed image and the labels all count as evidence.

An identity authority weighs the evidence. In SPIFFE this software is SPIRE. If the evidence checks out, it issues the SVID. No password goes into code or config.

Service Aspiffe://example.org/aholds X.509-SVID + keyService Bspiffe://example.org/bholds X.509-SVID + key1 · A presents its SVID → B verifies it2 · B presents its SVID → A verifies it3 · both verified → encrypted mTLS channelImposterno valid SVIDnothing to verify → refused
Figure — Proof from both sides, then an encrypted pipe. Both ends show and check an SVID before any data moves. An imposter with no SVID fails at the handshake, so its connection ends there.

Mutual TLS: both sides prove who they are

Ordinary web TLS works one way. Your browser checks the site's certificate, but the site rarely checks yours. Mutual TLS (mTLS) works both ways. When A calls B, both show their SVID certificates. Each side checks the other before any application data moves.

A checks that B's SVID is signed by the trust domain and names the service A expected. B does the same for A. Only then does the encrypted channel open. It is like DPoP and mTLS sender-constraining.

Think of it like…

a hospital ward at night. Someone in a white coat says, "I am Dr. Rao." The nurse does not trust the coat. The nurse checks the staff badge, which the hospital printed after checking the doctor's papers. The doctor also checks the patient's wristband before giving medicine. Both sides check. That is mutual TLS.

Short lives, automatic rotation

SVIDs are short-lived on purpose, often minutes to an hour. A stolen certificate soon stops working, so you rarely need a long revocation list. A small local agent fetches a fresh SVID before the old one expires. This is rotation, with no human step.

Why it matters

"Which machine is calling?" becomes a fact you can check. There are no shared passwords. A stolen credential works for minutes.

Go deeper: X.509 or JWT? Pick carefully

SPIFFE advises using X.509-SVIDs whenever possible. A JWT-SVID is a bearer token, so anyone who intercepts it can replay it until it expires. Use JWT-SVIDs only when a proxy or load balancer makes X.509 impractical. Keep their lifetime short and name the audience.

Go deeper: trust domains across organizations

Each trust domain has its own root of trust. A workload in one domain does not trust SVIDs from another by default. To work across domains, the two sides swap trust bundles. A bundle holds each domain's public keys. This is called SPIFFE federation. You choose which domains to trust. Nothing is trusted automatically.

Go deeper: where the standards stand (as of October 2026)

SPIFFE is a graduated project of the Cloud Native Computing Foundation (CNCF). It reached that level in August 2022. SPIRE is its main implementation.

The IETF has a working group called WIMSE (Workload Identity in a Multi System Environment). It works on related drafts for architecture, identifiers, workload credentials and request signing. None is an RFC yet. The architecture draft (revision 08) is meant to be Informational. A draft on practices is with the IESG. Drafts change, so check the current status before you rely on one.

🧪 Interactive lab — enable JavaScript to play with this one.

🧪 Try it free

Decode and inspect a real SPIFFE X.509 or JWT-SVID with SPIFFE Scan. Then grade the certificate's hygiene with Cert Lint.