¿Qué son SPIFFE y SPIRE?

Copiar URL

SPIFFE y SPIRE son dos proyectos open source que abordan la gestión de identidades en entornos informáticos diversos y dinámicos.

SPIFFE (se pronuncia "spifi") significa "Secure Production Identity Framework for Everyone", que se traduce como "marco de identidad de producción segura para todos". Establece una estructura para las identidades, junto con una forma de comprobarlas criptográficamente y considerarlas de confianza.

SPIRE es la abreviatura de "SPIFFE Runtime Environment", que se traduce como "entorno de tiempo de ejecución de SPIFFE". SPIRE es la implementación de referencia de SPIFFE.

En conjunto, SPIFFE y SPIRE definen una forma de aplicar una arquitectura de confianza cero en entornos complejos de nube híbrida. El marco SPIFFE/SPIRE resuelve muchos problemas de seguridad, entre ellos:

Tanto SPIFFE como SPIRE son proyectos consolidados de Cloud Native Computing Foundation (CNCF). Red Hat ofrece una implementación empresarial de SPIFFE/SPIRE, el gestor de identidades de cargas de trabajo de confianza cero de Red Hat®, como operador de Red Hat OpenShift® en versión de prueba.

Los partidarios de SPIFFE suelen describirlo como una solución al "problema de las tortugas hasta el fondo". Los autores del proyecto SPIFFE incluso utilizaron la metáfora de la tortuga como el título de un libro sobre la tecnología. 

Entonces, ¿de qué se trata el problema de las tortugas hasta el fondo?

En una vieja historia, un personaje insiste en que el mundo se sostiene sobre una tortuga gigante. Cuando le preguntan sobre qué se sostiene esta tortuga, responde que está sobre otra tortuga aún más grande. ¿Y sobre qué se sostiene esa tortuga? "Hay tortugas tras tortugas hasta el final".

La seguridad informática tiene un problema similar al de las tortugas hasta el fondo. Los secretos, como las contraseñas y las claves de la interfaz de programación de aplicaciones (API), permiten que los diferentes servicios y plataformas sepan que pueden confiar unos en los otros. Para resguardar los secretos, se requieren capas adicionales de seguridad, como claves de cifrado privadas y un repositorio de secretos para almacenarlas. A su vez, este repositorio se protege con más secretos. Y así, hay secretos tras secretos hasta el final.

El estándar SPIFFE y la implementación SPIRE tienen como objetivo establecer la "tortuga del fondo" para que todas las interacciones en un sistema tengan un nivel básico de confianza.

SPIFFE y SPIRE son una forma de mejorar la seguridad de la TI. Juntos, forman un marco que garantiza que solo se otorgue acceso a las interacciones con identidades comprobadas. Podrías pensar en SPIFFE y SPIRE como la autenticación multifactor (MFA) para las cargas de trabajo.

SPIFFE: el marco

SPIFFE establece las especificaciones para emitir y gestionar las identidades criptográficas de los servicios en distintos entornos. El elemento principal de este estándar es el documento de identidad verificable (SVID) de SPIFFE, una credencial de corta duración que sirve como identidad de una carga de trabajo.

En una arquitectura de confianza cero, en la que ningún elemento es de confianza desde el principio, SPIFFE permite la autenticación de las cargas de trabajo sin depender de los secretos. Cuando una de ellas necesita interactuar con otro servicio, puede presentar su SVID, que suele ser un certificado X.509 o un token web de JSON (JWT).

Luego, otras cargas de trabajo pueden verificar el SVID de forma local, lo que facilita la autenticación confiable entre pares sin la necesidad de ponerse en contacto con una autoridad central para realizar cada operación. Este proceso optimizado simplifica y protege la comunicación de los servicios, ya que mantiene la confianza a través de una identidad estandarizada y comprobable.

SPIRE: el entorno de tiempo de ejecución

SPIRE describe una forma de implementar el estándar SPIFFE. Define un proceso para configurar las API que establecen la confianza entre las cargas de trabajo (aplicaciones o agentes que realizan una solicitud) y los nodos (servidores o máquinas).

SPIRE garantiza la autenticación de la carga de trabajo y del nodo. Es decir, se asegura de que tanto la aplicación como el recurso sean lo que dicen ser antes de emitir un certificado de firma.

Un servidor SPIRE actúa como una autoridad de firma para las identidades de su dominio SPIFFE. También realiza un seguimiento de las identidades de las cargas de trabajo en un registro. 

Además del servidor SPIRE, los agentes SPIRE funcionan en cada nodo donde se ejecuta una carga de trabajo. Estos agentes conservan en la memoria caché los SVID y certifican la identidad de las cargas de trabajo. La verificación de los SVID puede realizarse de forma local mediante la introspección del kernel. En otras palabras, la carga de trabajo no necesita solicitar que un servicio externo verifique si una acción determinada está autorizada o no.

SPIRE admite la federación, a través de la cual diferentes sistemas intercambian paquetes de confianza que contienen las claves públicas y las certificaciones necesarias para validarlos. 

SPIFFE y SPIRE contribuyen a la autenticación en entornos multicloud distribuidos. Estos son algunos de los casos prácticos habituales:

Autenticación en los entornos de nube híbrida

En los entornos híbridos y multicloud, las aplicaciones pueden abarcar varios proveedores de nube y límites administrativos, por lo cual es más complejo implementar una comunicación de confianza en estos casos. 

Con la federación de SPIFFE, los servidores SPIRE que se ejecutan en diferentes ubicaciones pueden intercambiar claves públicas y certificados a través de paquetes de confianza, que es un formato para un conjunto de claves públicas en el que se utiliza una determinada autoridad emisora de SPIFFE. Esto permite que las aplicaciones establezcan confianza, incluso entre diferentes proveedores de nube o límites administrativos, sin claves privadas ni configuraciones de red complejas.

Gestión de identidades en Kubernetes y KubeVirt

Los entornos de Kubernetes suelen implicar muchas cargas de trabajo pequeñas que se ejecutan en contenedores aislados y deben cooperar entre sí. SPIFFE y SPIRE mejoran la seguridad en estos entornos al proporcionar autenticación para las aplicaciones en contenedores en cualquier parte de la red. Esta función de seguridad también se aplica a las máquinas virtuales que se ejecutan en soluciones basadas en KubeVirt, como Red Hat OpenShift Virtualization, lo que facilita el control de acceso específico, un principio fundamental de la arquitectura de confianza cero.

Flujos de trabajo para los agentes de inteligencia artificial

Los agentes de inteligencia artificial, que reciben instrucciones y luego interactúan con otro sistema para lograr un objetivo, son cada vez más comunes. Sin embargo, su funcionamiento no es sencillo cuando se trata de información confidencial. Se requieren identidades sólidas y comprobable para que los agentes puedan acceder a las cargas de trabajo de las máquinas, lo que es aún más complicado en las plataformas de nube híbrida. SPIFFE y SPIRE brindan parte de la solución con credenciales comprobables a corto plazo que permiten a los servicios de inteligencia artificial acceder a los datos confidenciales de manera controlada.

Confianza en la malla de servicios

Una malla de servicios es una capa que se encarga de la comunicación entre los servicios, especialmente en las aplicaciones en contenedores. La implementación de SPIFFE y SPIRE puede incorporar la gestión de la seguridad integrada a una malla de servicios, lo que permite que estas utilicen identidades comprobables criptográficamente. Este nivel de confianza simplifica la interoperabilidad entre los sistemas y contribuye a la aplicación de las políticas, tanto dentro como fuera de la malla de servicios.

Seguridad del edge computing

Dado que SPIFFE y SPIRE amplían el plano de control de identidad a los entornos locales, pueden ser una buena opción para el edge computing. Los SVID verificables criptográficamente te permiten implementar una autenticación sólida en cualquier parte de la red, incluso para los servicios del extremo de la red distribuidos y remotos.

La ejecución de las aplicaciones modernas en la nube requiere cierto nivel de automatización. Para resolver esta situación, muchas empresas eligen Kubernetes, una plataforma open source con la que puedes implementar, gestionar y ajustar las aplicaciones en contenedores, y que conforma la base de Red Hat OpenShift.

Con SPIFFE y SPIRE como tu plano de control de identidad, la "tortuga del fondo" que mencionamos anteriormente, puedes trabajar con identidades comprobable en Kubernetes. Estos son los tres aspectos más importantes que debes conocer sobre SPIFFE y SPIRE en esta solución:

  1. SPIRE es el marco para implementar SPIFFE. Deberás implementar los elementos de SPIRE en el clúster de Kubernetes. Entre estos se encuentran el servidor SPIRE, que gestiona las identidades y las firmas, y los agentes SPIRE, uno de los cuales debe ejecutarse en cada nodo de Kubernetes. Estos elementos crean la infraestructura de identidad básica y preparan el clúster para comprobar las identidades criptográficamente. El gestor de identidades de las cargas de trabajo de confianza cero de Red Hat facilita esta tarea en los entornos de Red Hat OpenShift.
  2. Los agentes de SPIRE autentican los nodos y las cargas de trabajo. Pueden analizar las características de una aplicación, como el espacio de nombres, la cuenta de servicio o la imagen de contenedores de Kubernetes, a fin de comprobar la legitimidad de la aplicación.
  3. Una vez autenticadas, las aplicaciones acceden a la API de la carga de trabajo local de SPIFFE expuesta por el agente de SPIRE para obtener sus SVID únicos y de corta duración. Estos permiten establecer conexiones mutuas de seguridad de la capa de transporte (mTLS) y garantizan una comunicación confiable entre los servicios.

Plan de capacitación: SPIFFE/SPIRE en Red Hat OpenShift

Las soluciones de Red Hat se centran en la seguridad integral. Te permiten diseñar una base de confianza cero que facilite la soberanía de los datos y, al mismo tiempo, posibilite la implementación y la gestión de las cargas de trabajo desarrolladas en la nube y basadas en la inteligencia artificial. Con los especialistas de Red Hat, podrás dar los primeros pasos en la adopción de la confianza cero en los entornos multicloud. 

El gestor de identidades de las cargas de trabajo de confianza cero de Red Hat es un operador de Red Hat OpenShift que simplifica la instalación y la gestión del ciclo de vida de SPIFFE y SPIRE. Se puede instalar en los clústeres actuales, está validado para funcionar en Red Hat OpenShift y cuenta con documentación completa para la instalación y la resolución de problemas.

Prueba Red Hat OpenShift

Prueba Red Hat OpenShift como un servicio totalmente gestionado en tu propia nube; autogestionado en la nube, en tu computadora o en tu centro de datos; o de manera inmediata en un espacio aislado para los desarrolladores.

Más información

La criptografía post-cuántica

Conoce el enfoque de Red Hat acerca de la criptografía post-cuántica, que consiste en algoritmos de cifrado resistentes a los ataques de las computadoras cuánticas.

Las ventajas de elegir Red Hat para DevSecOps

El enfoque de DevSecOps es complejo, pero las funciones de seguridad de la cartera de Red Hat permiten que los desarrolladores y los equipos de seguridad lo implementen en una etapa temprana del ciclo de vida con mayor facilidad.

¿Qué es SELinux?

Security-Enhanced Linux (SELinux) es una arquitectura de seguridad para los sistemas Linux® que otorga a los administradores mayor control sobre quién puede acceder al sistema.

Seguridad: lecturas recomendadas

Artículos relacionados