Confidential Computing: Seguridad de los datos en procesamiento

En los últimos años, ha existido la preocupación por proteger los datos o cargas de trabajo durante su almacenamiento en la nube o movimiento en la red, pero ¿qué ocurre durante su procesamiento? Los datos deben protegerse mientras se están ejecutando, y esto ha sido un desafío. El cifrado como se conocía hasta ahora es inadecuado en esta área, ya que las aplicaciones necesitan acceso a los datos de forma no cifrada mientras se ejecutan.

Confidential Computing Seguridad de los datos en procesamiento1


La necesidad de minimizar la exposición de datos en la nube dio lugar a la creación de Confidencial Computing, un modelo de seguridad que proporciona un entorno de ejecución de los datos confiable, basado en el hardware. Confidential Computing tiene como fin limitar el acceso y garantizar la protección de datos mientras las cargas de trabajo se procesan; para ello se utiliza un entorno de ejecución de confianza (TEE, Trusted Execution Environments) para proteger los datos en la nube.

En agosto de 2019 se estableció el Confidential Computing Consortium (CCC) bajo el mandato de Linux Foundation trabajando mano a mano con empresas proveedoras de hardware y de software como Intel, Google, Microsoft, IBM y Red Hat. El objetivo final del CCC es crear un sistema que sea seguro sin depender de software propietario para entornos informáticos confidenciales.

¿En qué consiste Confidential Computing?

Los datos se aíslan mediante técnicas basadas en hardware, realizando el cifrado de datos en la memoria sin mostrar los datos de la nube a todo el sistema. Como se ha comentado con anterioridad, los datos se almacenan en TEE, donde es imposible ver los datos desde el exterior, incluso con un depurador. Un TEE proporciona un contenedor protegido (como una caja negra en los aviones), porque protege una parte del procesador y la memoria. Puede ejecutar software en el TEE para ocultar partes del código y los datos con el fin de que no se puedan ver ni modificar desde fuera del entorno de ejecución de confianza. Estos mecanismos de cifrado eliminan el acceso no autorizado externo. Por tanto, el Confidential Computing aísla el software y los datos del hardware subyacente, hallándose este último cifrado.

Un ejemplo de esto, es el uso de herramientas como las extensiones de protección de software (SGX) de Intel, con las que se pueden cifrar datos en la memoria o usar un SDK para crear TEE en el firmware. El SDK de Microsoft ofrece un marco de código abierto que permite a los desarrolladores crear aplicaciones TEE mediante una única abstracción, y Enarx de Red Hat y Asylo Project ofrecen una creación de capas de abstracción similares. En cualquier caso, Confidential Computing requiere la colaboración de una amplia variedad de compañías de la industria, incluyendo proveedores de hardware, proveedores de nube, desarrolladores, expertos de código abierto, académicos y más.

¿Por qué Confidential Computing?

La seguridad es la llave para acelerar la adopción de la informática en la nube. Confidential Computing es la herramienta que permite migrar direcciones IP y datos muy sensibles a la nube. Los beneficios clave del Confidential Computing son:

  • Cifrado de seguridad E2E.
  • Protección de datos en ejecución.
  • Mayor control de los clientes en la nube.
  • Aumenta la transparencia y genera confianza de los usuarios.
  • Garantiza la protección contra cualquier uso no autentificado.
  • Facilita el movimiento entre diferentes entornos.

Players en el mercado

Las diferentes empresas que forman parte del CCC ofrecen su producto propio con sus particularidades y, en ocasiones, enfocadas para diferentes sectores. Cabe destacar Microsoft Azure, Google Cloud o AWS Nitro entre muchas otras.

Confidential Computing Seguridad de los datos en procesamiento2

Principalmente, Microsoft Azure ayuda a minimizar la superficie de ataque para obtener una protección de datos más sólida. Azure ya ofrece muchas herramientas para proteger los datos en reposo y para cifrar datos en tránsito a través de protocolos seguros como TLS y HTTPS. Ahora presenta el cifrado de datos en uso.

Entre sus servicios ofrece evitar el acceso no autorizado, la protección intelectual de la organización en la nube manteniendo el control total de los datos para cumplir con las regulaciones gubernamentales, acometer los problemas combinando datos entre organizaciones para desbloquear análisis de datos, y productos que eliminan la responsabilidad sobre los datos privados con el procesamiento ciego de tal modo que el proveedor de servicios ni siquiera puede recuperar los datos de usuario.

A su vez, Google Cloud ofrece un encriptado de datos en uso en tiempo real sacando partido a la tecnología de seguridad que ofrecen las CPU modernas. También asegura la confidencialidad de tipo lift-and-shift, la posibilidad de usar las máquinas virtuales confidenciales sin necesidad de modificar el código de las aplicaciones. Las organizaciones pueden colaborar en proyectos de investigación en la nube desde cualquier ubicación geográfica y sin poner en riesgo su confidencialidad.

IBM, por su parte, ha invertido en Confidential Computing end-to-end para la computación en la nube de sus clientes durante más de dos años con productos como IBM Hyper Protect Cloud Services e IBM Cloud Data Shield. Desde su punto de vista, la protección de datos es tan fuerte como el eslabón más débil en la defensa de extremo a extremo, lo que significa que la protección de datos debe ser global. Durante el 2020, ha anunciado IBM Cloud for Financial Services e IBM Secure Execution for Linux, junto con nuevos kits de herramientas de cifrado homomórficos.

La última empresa en aventurarse al Confidential Computing ha sido Amazon con AWS Nitro Enclaves, que consiste en una combinación de mejoras de software y hardware en la plataforma Amazon EC2. Amazon ha trasladado la virtualización de redes y la virtualización de almacenamiento a un dispositivo de hardware dedicado que libera la CPU para ejecutar máquinas virtuales adicionales. Una aplicación que se ejecuta en la misma instancia EC2 puede acceder a Nitro Enclave. AWS Nitro Enclaves no tiene una dirección IP, almacenamiento persistente ni acceso de usuario. Así pues, no se pueden asociar a una VPC y no exponen ninguna API o punto de enlace al mundo exterior.

El futuro de Confidential Computing

El desarrollo de un marco común entre industrias como el CCC es emocionante ya que se está viviendo una colaboración inmensa para impulsar la tecnología, y a su vez, es una competición entre las empresas que lo componen. Por ello, es el mejor ejemplo del éxito que conlleva el Confidential Computing, que permite compartir información altamente sensible e intercambiarla con otras partes sin exponerla realmente, únicamente se comparte un conjunto de datos. Así pues, se puede colaborar y realizar funciones conjuntas sobre información altamente sensible, de manera rápida y sencilla al simplemente no permitir que esa información sea expuesta a partes no deseadas.

Recientemente, Google Cloud publicó en su blog la opinión de algunos de sus socios sobre el servicio que les brinda Confidential Computing. Entre ellos, Mark Shuttleworth, CEO de Canonical, comunicó que gracias a la colaboración entre Google y Canonical se garantiza que Ubuntu esté optimizado para operaciones GCP. Canonical Ubuntu es totalmente compatible con la informática confidencial en Google Cloud, proporcionando un nuevo nivel de confianza en la infraestructura de nube pública.

Otra gran colaboración ha sido Thales y Google Cloud. Ambos han colaborado en varias áreas, pero destaca Kubernetes Secrets que contiene datos confidenciales como contraseñas, claves y certificados. También HashiCorp Vault, que permite a los equipos almacenar de forma segura y estrecha el acceso a tokens, contraseñas, certificados y claves de cifrado para proteger máquinas y aplicaciones.

Conclusiones

El uso de Confidential Computing permite que los clientes puedan ejecutar cargas de trabajo altamente sensibles en la nube, minimizando el riesgo de acceso a información privilegiada. Junto con el cifrado de datos en tránsito y en reposo, el cifrado de datos en uso es el tercer pilar del cifrado E2E.  Esta herramienta, el Confidential Computing, basa su funcionamiento en el uso de entornos de ejecución de confianza (TEE) basados en hardware.

La creación del Confidential Computing Consortium apuesta por este nuevo planteamiento de seguridad, y tiene como objetivo definir estándares para el uso de Confidential Computing mediante el apoyo al desarrollo y adopción de herramientas de código abierto. El CCC apuesta por crear un sistema que sea seguro sin depender de software propietario para entornos informáticos confidenciales.

Actualmente, existe una amplia oferta en el mercado de Confidential Computing, como Amazon que depende en gran medida del diseño de Amazon EC2, o Microsoft y Google cuya oferta está basada en las mejoras de seguridad de los procesadores Intel y AMD. Todas estas grandes compañías están apostando fuertemente en el uso de Confidential Computing.