CyberArk Glossary >

What is SPIFFE?

SPIFFE is the Secure Production Identity Framework For Everyone. It’s an open-source standard for consistently and securely identifying software systems in dynamic and heterogeneous environments. An open-source project that is part Cloud Native Computing Foundation (CNCF) as a graduated project, SPIFFE addresses the need for a uniform, scalable, and flexible identity framework in modern, distributed systems.

The core of SPIFFE is its standard identity format, known as the SPIFFE ID, which uniquely identifies a service in a particular trust domain. SPIFFE works in tandem with the SPIFFE Runtime Environment (SPIRE), a production-ready implementation that helps to issue and manage these identities. When a workload, such as a microservice, starts up, it contacts the Workload API on a local socket or its local host to obtain an identity in the form of a short-lived SPIFFE Verifiable Identity Document (SVID). This SVID, which typically contains a workload’s SPIFFE ID and is often in the form of a machine identity such as an X.509 certificate or a JWT token, can then be presented to other workloads as a secure proof of identity. This process enables mutual TLS (mTLS) and JWT-based authentication (JSON Web Token), allowing workloads to establish trust securely and automatically with one another in dynamic and heterogeneous environments without relying on static network information or long-lived credentials.

How SPIFFE Works

SPIFFE is designed to assign a unique, cryptographically verifiable identity to each service within a system, known as a SPIFFE Verifiable ID. These identities are embodied in SPIFFE Verifiable Identity Documents (SVIDs), which services use to authenticate themselves and establish trust with other services. The framework is built to be flexible and interoperable, allowing it to function across various organizations and systems without being tied to any specific underlying infrastructure. This approach facilitates secure service-to-service communication in distributed

systems by ensuring that each service can prove its identity in a secure and standardized manner.

How to Solve the «Bottom Turtle» Problem

The “bottom turtle” problem refers to the challenge of securely bootstrapping identity and trust in a distributed system, especially at the lowest or initial level where no pre-existing trust exists.

SPIFFE addresses this by providing a way to bootstrap trust securely. It does this through the SPIFFE Runtime Environment (SPIRE), which is an implementation of the SPIFFE specification and serves as the trust framework, securely issuing and rotating SVIDs based on SPIFFE IDs.

In environments like Kubernetes, where services are constantly created and destroyed, SPIFFE ensures that these services can establish trust and securely communicate with each other from the moment they are deployed, solving the «bottom turtle» problem of initially establishing trusted identities.

In essence, SPIFFE provides a standardized way to create and manage workload identities in a distributed environment, which is vital for implementing zero-trust security models and solving the initial trust establishment challenge in dynamic infrastructures.

Learn more about machine identity security, and how it can benefit your organization!

OTRAS ENTRADAS AL GLOSARIO