Confidential computing, la privacidad por encima de todo

  • Reportajes

Pocos dudarán del valor de los datos. Se han convertido en la nueva moneda de cambio, en el tesoro más perseguido, en motivo de demandas cuando no son tratados adecuadamente. No sólo son el centro de grandes brechas de seguridad, sino de escándalos como el de Cambridge Analytica.

En plena era de tecnologías como el Machine learning, que permiten automatizar tareas sin las cuales las empresas no podrían evolucionar, los datos y sus análisis resultan imprescindibles. Detrás de ello, la protección de los mismos, de la privacidad de los usuarios. La Confidential Computing es un paso más en la confianza, control y seguridad del cloud cuyo objetivo no es otro que asegurar que los datos estén protegidos y cifrados siempre, incluso cuando estén en uso.

Este contenido fue publicado en el número de Septiembre de la revista IT Digital Security, disponible desde este enlace.

Las brechas de seguridad en las que los atacantes han obtenido información personal, datos financieros o propiedad intelectual han dejado de ser noticia. Si bien muchas de estas brechas son el resultado de un control de acceso mal configurado, la mayoría se puede rastrear a los datos a los que se accede mientras está en uso, ya sea a través de cuentas administrativas o aprovechando claves comprometidas para acceder a datos cifrados.  

Desde la invención de algoritmos como DES, 3DES, cifrado simétrico AES, gestión e intercambio de claves con una sobrecarga razonable el mercado ha estado años realizando implementaciones sólidas y confiables de cifrado en reposo y cifrado en tránsito. Y esto ha sido suficientemente bueno durante década, más o menos hasta que se comenzaron a externalizar las infraestructuras, cuando se abordó el problema de que un tercero podía acceder a los datos en memoria a través de procesos y contratos. Y con la llegada de la nube.

El escenario de la Confidential Computing es permitir que los datos cifrados se procesen en la memoria sin exponerlos al resto del sistema, reduciendo la exposición de datos confidenciales y proporcionando un mayor control y transparencia a los usuarios. En un sentido más amplio, la Confidential Computing permite que las aplicaciones se ejecuten en entornos protegidos en el sistema operativo, de modo que los datos y el código estarían protegidos incluso si el sistema operativo en sí estuviera en peligro.

Microsoft Azure Confidential Computing 

El concepto de Confidential Computing anda rondando por el mercado desde hace varios años, aunque quizá una de las empresas que más visibilidad le ha dado sea Microsoft. La compañía invierte cientos de miles de dólares en seguridad cada año y asegurar su plataforma cloud, Microsoft Azure, es uno de sus grandes objetivos.

Explica la compañía que desde la estricta seguridad del centro de datos físicos, garantizando la privacidad de los datos, cifrando los datos en reposo y en tránsito, los nuevos usos del aprendizaje automático para la detección de amenazas y el uso de estrictos controles del ciclo de vida del desarrollo de software operativo, “Azure representa la vanguardia de la seguridad y privacidad en la nube”. Y hace casi dos años anunciaban Azure Confidential Computing, que permite cifrar los datos en uso en nubes públicas; “esto significa que los datos pueden procesarse en la nube con la garantía de que siempre están bajo el control del cliente”, aseguraba la compañía.

En la propuesta Confidential Computing de Microsoft Azure los datos están protegidos dentro de un entorno de ejecución confiable (TEE, por sus siglas en inglés). Los TEE aseguran que no haya forma de ver los datos o las operaciones internas desde el exterior, incluso con un depurador. Es más, se aseguran de que solo el código autorizado tenga permiso para acceder a los datos. Si el código se altera o se manipula, las operaciones se rechazan y el entorno se deshabilita. El TEE aplica estas protecciones durante la ejecución del código dentro de él.

Google Asylo

En mayo de 2018 Google daba un paso más en la seguridad de la nube con Asylo, un proyecto de código abierto que facilita la implementación de la Confidential Computing; un marco de desarrollo que ayuda a proteger la confidencialidad e integridad de las aplicaciones y datos en in entorno de confidential computing; la palabra griega para “lugar seguro”.

Google Asylo es un framework y SDK de código abierto para desarrollar aplicaciones que se ejecutan en entornos de ejecución confiables (TEE). Asylo incluye características y servicios para cifrar comunicaciones confidenciales y verificar la integridad del código que se ejecuta en enclaves, lo que ayuda a proteger los datos y las aplicaciones.

En el momento de la presentación explicaba Google que desarrollar y ejecutar aplicaciones en un TEE requería conocimientos y herramientas especializados; “además, las implementaciones se han vinculado a entornos de hardware específicos. Asylo hace que los TEE sean mucho más accesibles para la comunidad de desarrolladores, a través de una gama de hardware, tanto local como en la nube”.

Confidential Computing llega a Linux

Las últimas noticias sobre este modelo de seguridad se han dado en el entorno Linux, cuando la Linux Foundation ha anunciado planes para crear una comunidad que defina y acelere la adopción de la Confidential Computing. Entre los objetivos el establecer software y estándares de código abierto que aseguren los datos en uso.

El Confidential Computing Consortium (CCC) será una organización sin ánimo de lucro en la que participarán fabricantes de hardware, proveedores de cloud, desarrolladores, expertos de código abierto, académicos… “dedicados a definir y promover la adopción de la computación confidencial”.

Entre las empresas comprometidas con esta iniciativa destacan Alibaba, ARM, Baidu, Google Cloud, IBM, Intel, Microsoft, Red Hat, Swisscom y Tencent. Todas ellas trabajarán “para impulsar el mercado de computación confidencial, colaborar en estándares técnicos y regulatorios, y construir herramientas de código abierto para crear un espacio para el desarrollo de entornos de ejecución confiables (TEE). El CCC también servirá como base para proyectos de educación y divulgación”.

Los participantes planean hacer varias contribuciones de proyectos de código abierto al Confidential Computing Consortium, que incluyen:

- Intel Software Guard Extensions (Intel® SGX) Software Development Kit,diseñado para ayudar a los desarrolladores de aplicaciones a proteger el código y los datos seleccionados de la divulgación o modificación en la capa de hardware mediante enclaves protegidos.

- Microsoft Open Enclave SDK, un marco de código abierto que permite a los desarrolladores crear aplicaciones de Entorno de ejecución confiable (TEE) utilizando una única abstracción de enclave. Los desarrolladores pueden crear aplicaciones una vez que se ejecutan en múltiples arquitecturas TEE.

- Red Hat Enarx, un proyecto que proporciona independencia de hardware para proteger aplicaciones mediante TEE.