Ir al contenido

¡Se acercan los certificados de 47 días! ¿Estás preparado?

Actúa ahora →

¿Qué es la identidad de la carga de trabajo? Explicación de SPIFFE

Construyendo PKI cripto-ágil

La identidad de carga de trabajo consiste en asignar a cada carga de trabajo de software, como un contenedor, un microservicio, una máquina virtual o un proceso automatizado, su propia identidad criptográfica verificable para que pueda autenticarse en otros sistemas sin necesidad de claves secretas estáticas. SPIFFE (Secure Production Identity Framework For Everyone) es el estándar abierto que define cómo se nombran, emiten y verifican estas identidades.

La identidad de carga de trabajo asigna a cada carga de trabajo de software, como un contenedor, un microservicio o una máquina virtual, una credencial criptográfica de corta duración basada en propiedades verificadas de la carga de trabajo, en lugar de un secreto almacenado. SPIFFE, un estándar de la CNCF, define el formato de identidad y los tipos de credenciales, y SPIRE es el entorno de ejecución que emite y rota esas credenciales en producción.

Puntos Clave

  • Una identidad de carga de trabajo autentica una carga de trabajo de software (contenedor, servicio, máquina virtual o proceso) con una credencial certificada y de corta duración, en lugar de una clave API o un secreto compartido.
  • SPIFFE define el estándar: un ID de SPIFFE con el formato spiffe://dominio-de-confianza/ruta, que se entrega como un certificado X.509 o un JWT llamado SVID (Documento de Identidad Verificable de SPIFFE).
  • SPIRE, el entorno de ejecución SPIFFE, emite SVIDs mediante la atestación de nodos y cargas de trabajo sin necesidad de una clave secreta de arranque. Ambos proyectos se graduaron de la CNCF en septiembre de 2022.
  • SPIRE emite SVID X.509 con una vida útil predeterminada de una hora y los rota automáticamente, por lo que una credencial de carga de trabajo robada caduca en una hora en lugar de permanecer válida durante meses.
  • Norma NIST SP 800-207A SPIFFE se define como la infraestructura de identidad de aplicaciones para Zero Trust en entornos multi-nube nativos de la nube.

Por qué las cargas de trabajo necesitan su propia identidad

Actualmente, en la mayoría de los entornos de producción, las máquinas superan en número a los usuarios humanos, y cada llamada de servicio entre ellas requiere una decisión de confianza. Un servicio de pago debe tener la certeza de que la solicitud recibida proviene realmente del servicio de pago y no de un servidor comprometido en la misma red.

Las soluciones tradicionales a este problema se basan en información que contiene la carga de trabajo: una clave API en una variable de entorno, una contraseña en un archivo de configuración o un certificado emitido por tres años y copiado entre hosts. Las credenciales estáticas se filtran a los repositorios de código fuente y los registros, persisten mucho después de que la carga de trabajo que las utilizó haya desaparecido y rara vez se rotan, ya que la rotación genera problemas. La ubicación de red no es un mejor indicador de confianza, puesto que los contenedores comparten redes, las direcciones IP se reciclan en segundos y un único host comprometido se encuentra dentro del perímetro.

La identidad de la carga de trabajo reemplaza la información confidencial del servicio con su identidad verificada. La credencial se deriva de datos verificables sobre la carga de trabajo y su plataforma, tiene una duración de minutos u horas y se renueva automáticamente sin intervención humana.

¿Qué es SPIFFE?

SPIFFE, el marco de identidad de producción segura para todos, es un estándar abierto que define cómo se nombran las identidades de las cargas de trabajo, cómo es la credencial y cómo la reciben las cargas de trabajo. El proyecto está alojado por la Cloud Native Computing Foundation y alcanzó el estatus de graduado en septiembre de 2022, el nivel de madurez de la CNCF que comparte Kubernetes. SPIFFE define cuatro bloques de construcción:

  • ID DE SPIFFE: Una URI con el formato spiffe://dominio-de-confianza/ruta, por ejemplo spiffe://prod.example.com/payments/api. El dominio de confianza es el límite administrativo; la ruta indica la carga de trabajo dentro de él.
  • SVID: El documento de identidad verificable SPIFFE (SPIFFE) es la credencial que prueba la identidad SPIFFE. Un X.509-SVID incorpora la identidad SPIFFE como una URI en el campo Nombre alternativo del sujeto del certificado y se integra directamente en TLS mutuo. Un JWT-SVID contiene la misma identidad que un token firmado para contextos HTTP y API.
  • API de carga de trabajo: Una API local, expuesta a través de un socket de dominio Unix, desde la cual una carga de trabajo obtiene su SVID y el paquete de confianza utilizado para verificar a los pares. Llamar a la API no requiere credenciales; la plataforma certifica al emisor.
  • FederaciónDos dominios de confianza independientes pueden intercambiar paquetes de confianza y verificar las cargas de trabajo del otro sin compartir una CA raíz, lo que hace que la autenticación entre nubes y entre organizaciones sea práctica.

SPIFFE no incluye ningún software. Es la especificación. La implementación de referencia que se ejecuta en producción es SPIRE.

Cómo SPIRE emite identidades de carga de trabajo

SPIRE, el entorno de ejecución SPIFFE, emite identidades a través de una cadena de atestación en lugar de un secreto distribuido. Un servidor SPIRE actúa como ancla de confianza para el dominio y un agente SPIRE se ejecuta en cada nodo. La emisión consta de cuatro pasos:

  1. Certificación de nodo: El agente demuestra en qué nodo se ejecuta mediante pruebas de la plataforma, como un documento de identidad de instancia de AWS, una identidad administrada de Azure o un token de cuenta de servicio de Kubernetes.
  2. Certificación de carga de trabajo: Cuando un proceso llama a la API de carga de trabajo, el agente lo inspecciona a través de la plataforma: su espacio de nombres de Kubernetes y cuenta de servicio, su ID de usuario de Unix o su imagen de contenedor.
  3. Emisión de SVID: El servidor compara esas propiedades certificadas con las entradas de registro y firma un SVID para el ID de SPIFFE correspondiente.
  4. Rotación automática: La duración predeterminada de un SVID X.509 en SPIRE es de una hora, y el agente renueva cada SVID antes de que caduque. Las cargas de trabajo nunca gestionan un evento de renovación.

Dado que la identidad se deriva de la certificación, no hay ningún secreto de arranque que distribuir, almacenar o filtrar. El anuncio de graduación de la CNCF menciona a Bloomberg, ByteDance, Pinterest, Twilio, Uber, Netflix y GitHub entre los usuarios en producción, y las mallas de servicios, incluida Istio, utilizan el formato de identidad SPIFFE para sus certificados de carga de trabajo. Para obtener detalles sobre la arquitectura de implementación y la configuración, consulte el análisis en profundidad de SPIFFE y SPIRE de Encryption Consulting.

Identidad de carga de trabajo frente a secretos estáticos

La diferencia práctica entre la identidad de carga de trabajo al estilo SPIFFE y las credenciales de máquina estáticas se manifiesta en la vida útil, la rotación y el radio de explosión.

AtributoSecretos estáticos (claves API, certificados de larga duración)Identidad de carga de trabajo de SPIFFE
Base de confianzaLo que contiene la carga de trabajoCuál es la carga de trabajo, verificada mediante certificación.
Vida útil típicaMeses a añosUna hora por defecto en SPIRE, configurable a minutos.
RotaciónManual, a menudo omitidoAutomático, antes de cada vencimiento
BootstrapEl secreto debe distribuirse primero.No hay secreto de arranque; solo certificación de plataforma
PortabilidadVinculado a una plataforma o bóvedaMisma identidad spiffe:// en nubes, clústeres y máquinas virtuales.
Radio de explosión en caso de roboVálido hasta que alguien lo detecte y lo revoque.Limitado por los minutos restantes de la vigencia de la credencial.

Dónde encaja la identidad de la carga de trabajo en Zero Trust

Zero Trust considera la identidad, no la ubicación de red, como el control de acceso principal, y la identidad de la carga de trabajo es el mecanismo mediante el cual este principio se aplica al tráfico entre máquinas. La norma NIST SP 800-207 (agosto de 2020) define la arquitectura Zero Trust. Su complemento para entornos nativos de la nube, la norma NIST SP 800-207A (septiembre de 2023), nombra explícitamente a SPIFFE como infraestructura de identidad de aplicaciones para el control de acceso en entornos multinube, junto con las puertas de enlace API y los proxies sidecar. La serie NIST SP 800-204 establece la misma conexión para las implementaciones de malla de servicios, donde el TLS mutuo entre cargas de trabajo transmite la identidad.

La estandarización sigue avanzando. El grupo de trabajo WIMSE (Identidad de carga de trabajo en entornos multisistema) de la IETF está definiendo cómo las identidades y los tokens de carga de trabajo interactúan entre dominios de confianza, y esa misma infraestructura de identidad se está convirtiendo en la respuesta a una pregunta más reciente: cómo autenticar agentes de IA y otras identidades no humanas que actúan de forma autónoma en diferentes sistemas.

La gestión de identidades de carga de trabajo aún requiere infraestructura de clave pública (PKI) empresarial.

SPIFFE no reemplaza la infraestructura de clave pública (PKI); es una PKI aplicada a cargas de trabajo a velocidad de máquina. Cada dominio de confianza está respaldado por claves de firma que funcionan como una autoridad de certificación. Alguien debe decidir dónde reside la raíz de ese dominio de confianza, proteger sus claves, planificar su rotación y decidir si los SVID se encadenan a una raíz autocontenida o a una CA empresarial ascendente mediante la integración UpstreamAuthority de SPIRE.

Estas son cuestiones clásicas de gobernanza de PKI, y se vuelven más complejas a medida que se multiplican las implementaciones de SPIFFE: los equipos de plataforma configuran dominios de confianza por clúster, se emiten miles de certificados al día y ninguno aparece en un inventario de certificados diseñado para puntos finales TLS. Una organización que no puede ver sus certificados de carga de trabajo no puede auditarlos, y una raíz de dominio de confianza generada en un portátil sigue siendo una raíz. Anclar los dominios de confianza en una jerarquía de CA gobernada y extender la visibilidad de los certificados a las credenciales de carga de trabajo de corta duración es lo que convierte un marco prometedor en un programa de identidad auditable. Un conocimiento básico de los fundamentos de la infraestructura de clave pública resulta útil en este caso, ya que cada concepto de SPIFFE se corresponde con un concepto de PKI subyacente.

Cómo ayuda la consultoría de cifrado

PKI-as-a-Service le proporciona una jerarquía de autoridad de certificación gobernada y respaldada por HSM que puede servir como ancla de confianza ascendente para los dominios de confianza SPIFFE, de modo que las credenciales de carga de trabajo se encadenan a una raíz que su organización controla, con ceremonias de claves y rotación gestionadas según lo previsto. CertSecure Manager mantiene los certificados de máquina y carga de trabajo visibles en un inventario único, realiza un seguimiento de la caducidad y automatiza el ciclo de vida en nubes y clústeres. Respaldado por las prácticas certificadas ISO/IEC 27001:2022 y SOC 2.

Preguntas frecuentes

¿Qué es la identidad de la carga de trabajo en términos sencillos?

La identidad de la carga de trabajo es como un pasaporte para el software. En lugar de que una persona inicie sesión, un contenedor, microservicio o máquina virtual recibe su propia credencial criptográfica temporal que demuestra su identidad. Otros servicios verifican esa credencial antes de intercambiar datos, del mismo modo que un agente fronterizo verifica un pasaporte, por lo que no es necesario almacenar ni distribuir ninguna contraseña compartida ni clave API.

¿Cuál es la diferencia entre SPIFFE y SPIRE?

SPIFFE es la especificación y SPIRE es el software que la implementa. SPIFFE define el formato de identidad (spiffe://dominio-de-confianza/ruta), los tipos de credenciales SVID y la API de carga de trabajo. SPIRE, el entorno de ejecución de SPIFFE, certifica nodos y cargas de trabajo, emite SVID y los rota automáticamente. Ambos proyectos se graduaron de la Cloud Native Computing Foundation en septiembre de 2022.

¿Qué aspecto tiene un ID de SPIFFE?

Un ID de SPIFFE es una URI con el formato spiffe://dominio-de-confianza/ruta, por ejemplo, spiffe://prod.example.com/payments/api. El dominio de confianza identifica a la autoridad emisora ​​y la ruta identifica la carga de trabajo específica dentro de él. El mismo ID de SPIFFE sigue siendo válido independientemente de si la carga de trabajo se ejecuta en Kubernetes, en una máquina virtual o en diferentes proveedores de nube, lo que garantiza la portabilidad de la identidad.

¿SPIFFE reemplaza a la infraestructura de clave pública (PKI) o a una autoridad de certificación?

No. SPIFFE aplica la infraestructura de clave pública a las cargas de trabajo en lugar de reemplazarla. Cada dominio de confianza de SPIFFE está respaldado por claves de firma que funcionan como una autoridad de certificación, y SPIRE puede conectarse a una CA empresarial superior. Las organizaciones aún necesitan ceremonias de clave controladas, raíces protegidas y visibilidad de certificados, razón por la cual los programas de identidad de cargas de trabajo generalmente se ejecutan junto con una PKI administrada.

¿Cuánto tiempo tiene de validez un certificado SPIFFE (SVID)?

SPIRE emite SVID X.509 con una vida útil predeterminada de una hora, y el agente de SPIRE los renueva automáticamente antes de que caduquen. La vida útil se puede configurar con precisión de minutos. Dado que la rotación es automática, las cargas de trabajo nunca ven un evento de renovación manual, y una credencial robada deja de funcionar en los minutos restantes de su vida útil en lugar de permanecer válida durante meses.

¿Cómo admite la identidad de la carga de trabajo la confianza cero?

Zero Trust elimina la confianza implícita basada en la ubicación de la red y verifica cada solicitud con respecto a una identidad. La norma NIST SP 800-207 define esta arquitectura, y la norma NIST SP 800-207A designa a SPIFFE como infraestructura de identidad para entornos multinube nativos. La identidad de la carga de trabajo proporciona las identidades de servicio verificables de las que dependen los motores de políticas de Zero Trust y el TLS mutuo, extendiendo el modelo más allá de los usuarios humanos a todas las máquinas.

Ancla la identidad de la carga de trabajo en la PKI que administras

Explore PKI-as-a-Service para integrar su programa de identidad de carga de trabajo en una jerarquía de CA gestionada y respaldada por HSM, o consulte con un asesor de Encryption Consulting sobre cómo extender la detección de certificados y la automatización del ciclo de vida a sus clústeres con CertSecure Manager. Certificado según la norma ISO 27001:2022 y con certificación SOC 2.