Protección de datos en uso con Entornos de Ejecución de Confianza (TEE)
A medida que las organizaciones adoptan cada vez más multi-cloud, nube híbrida y edge computing, sus aplicaciones rastrean, almacenan y analizan datos sensibles de usuarios a través de una amplia gama de entornos. Para asegurar cumplimiento y privacidad de individuos que usan aplicaciones, los datos necesitan protección durante todo su ciclo de vida.
Ciframos sistemas de archivos y discos de almacenamiento, y usamos protocolos SSH para mantener datos en reposo y datos en tránsito seguros incluso si son robados, volviéndolos inútiles sin claves criptográficas. Sin embargo, los datos en uso están típicamente sin cifrar y son vulnerables a ataques y exploits.
Para mantener aplicaciones y datos protegidos en tiempo de ejecución, los desarrolladores recurren cada vez más a Entornos de Ejecución de Confianza, a menudo denominados «enclaves seguros».
¿Qué son los Entornos de Ejecución de Confianza?
Los Entornos de Ejecución de Confianza (TEE) son enclaves privados aislados dentro de la memoria cifrados por CPU, usados para proteger datos en uso a nivel de hardware.
Mientras los datos sensibles están dentro de un enclave, entidades no autorizadas no pueden eliminarlos, modificarlos ni añadir más datos. El contenido de un enclave permanece invisible e inaccesible para partes externas, protegido contra amenazas internas y externas.
Como resultado, un TEE asegura lo siguiente:
- Integridad de datos
- Integridad de código
- Confidencialidad de datos
Dependiendo del vendedor y la tecnología subyacente, los TEE pueden habilitar características adicionales, como:
- Confidencialidad de código – Protección de algoritmos considerados propiedad intelectual.
- Lanzamiento autenticado – Imposición de autorización o autenticación para lanzar solo procesos verificados.
- Programabilidad – Acceso a código de programación TEE del fabricante u otra fuente segura.
- Attestation – Medición del origen y estado actual de un enclave para a prueba de manipulaciones.
- Recuperabilidad – Volver a un estado seguro previo en caso de que un TEE se vea comprometido.
Estas funciones dan a desarrolladores control total sobre seguridad de aplicaciones, protegiendo datos y código sensibles incluso cuando el sistema operativo, BIOS y la propia aplicación están comprometidos.
¿Cómo funciona un enclave seguro?
Para entender cómo funcionan los TEE, veamos Intel® Software Guard Extensions (SGX).
Con Intel® SGX, los datos de la aplicación se dividen en sus partes de confianza y sin confianza. Las partes de confianza del código se usan para ejecutar la aplicación dentro de un enclave protegido. La CPU deniega todo otro acceso al enclave, independientemente de los privilegios de las entidades que lo solicitan. Una vez procesados, los datos de confianza se mantienen dentro del TEE y la información proporcionada a la aplicación fuera del enclave se cifra de nuevo.
Los enclaves se crean y aprovisionan a través de comandos de hardware que habilitan creación y adición de páginas de memoria, así como inicialización, eliminación o medición de enclaves.
El firmware de la plataforma usa sus ajustes de configuración para configurar el área para el TEE. Una vez habilitadas las extensiones, la CPU reserva una sección de DRAM como Memoria Reservada del Procesador (PRM). El tamaño de PRM puede especificarse a través de herramientas de firmware.
Luego, la CPU asigna y configura el PRM estableciendo un par de registros específicos del modelo (MSRs). A continuación, se crean Cachés de Páginas de Enclave (EPC) dentro del PRM, conteniendo metadatos con direcciones base, tamaño del enclave e información de seguridad de datos.
Finalmente, la CPU crea un hash criptográfico del estado inicial del enclave y registra otros estados que siguen. Este hash se usa después para attestation a través de claves criptográficas y raíz de confianza de hardware.
Una vez inicializado, el enclave puede alojar aplicaciones de usuario.
¿Qué tan seguros son los Entornos de Ejecución de Confianza?
Para explicar mejor qué tan seguro es un TEE, primero necesitamos abordar los anillos de privilegio de CPU.
Las claves de cifrado se almacenaban tradicionalmente dentro de las aplicaciones, en el nivel anillo 3. Este modelo pone en peligro los secretos protegidos dentro de la aplicación una vez que esta se ve comprometida.
Con arquitecturas modernas, los anillos de privilegio van más allá del kernel e hipervisor, extendiéndose a System Management Mode (SMM) y Management Engine (ME). Esto permite a la CPU asegurar la memoria que usa un TEE, reduciendo la superficie de ataque a las capas más bajas de hardware y denegando acceso a todos menos a los niveles más altos de privilegio.
Otra clave para la funcionalidad y seguridad de un TEE es attestation. A través de attestation, toda la plataforma y el enclave son medidos y validados antes de que cualquier dato se comparta.
Por ejemplo, un enclave puede solicitar un reporte local de sí mismo o de otro enclave en la misma plataforma y usar el reporte para verificación y comprobación de datos. Similarmente, un verificador remoto puede pedir el reporte de attestation antes de solicitar datos sensibles del enclave. Una vez establecida la confianza, pueden compartir claves de sesión y datos a través de un canal seguro invisible para partes externas.
Dado que secretos sin cifrar nunca salen del TEE, los enclaves seguros protegen datos de:
- Otras aplicaciones en el host
- El SO host o hipervisor
- Administradores de sistema
- Proveedores de servicios
Incluso el propietario de la infraestructura y otras entidades con acceso físico al hardware no pueden alcanzar los datos.
Enclaves seguros en Confidential Computing
Para permitir procesamiento seguro y estandarizado de cargas de trabajo privadas a través de diferentes entornos cloud, la Linux Foundation formó una comunidad llamada Confidential Computing Consortium (CCC) en 2019. Desde su fundación, los miembros de CCC han trabajado para acelerar la adopción de computación en la nube y permitir colaboración abierta.
Gracias a los altos niveles de protección de datos que ofrecen, los enclaves seguros basados en hardware están en el núcleo de esta iniciativa.
A través de confidential computing soportado por TEEs, las organizaciones pueden mantener todo protegido mientras sus aplicaciones se están usando, desde una sola clave criptográfica hasta cargas de trabajo enteras.
¿Por qué debería adoptar Confidential Computing?
Hoy, los secretos van mucho más allá de contraseñas, abarcando información altamente confidencial e irremplazable como registros médicos o datos biométricos.
Confidential computing ofrece a las empresas una ventaja competitiva protegiendo estos datos y previniendo pérdida financiera o daño reputacional. Sin embargo, hay otros casos de uso para esta tecnología en evolución.
Computación multi-partida
Confidential computing permite a organizaciones procesar datos de múltiples fuentes sin exponer su código subyacente, propiedad intelectual o información privada de clientes a las partes con las que se asocian. Competencia o no, organizaciones gubernamentales, salud o institutos de investigación pueden aprovechar esta característica para colaborar y compartir insights con el propósito de aprendizaje federado.
Finanzas y seguros
Aprovechando confidential computing, instituciones financieras previenen actividades fraudulentas como lavado de dinero. Un banco puede compartir una cuenta sospechosa con otro banco dentro o fuera de su red para auditarla y minimizar posibilidades de falsos positivos.
Compañías de seguros pueden usar un enfoque similar para prevenir fraude. Pueden compartir una reclamación sospechosa entre sí para reconocimiento de patrones. Con los datos sensibles almacenados en un enclave y registros de datos compartidos entre diferentes fuentes, se pueden obtener resultados sin que ninguna información confidencial sea revelada en el proceso.
Conclusión
Las herramientas empresariales para mejorar la seguridad se desarrollan constantemente a medida que confidential computing evoluciona. Esto estimula la adopción, crecimiento y seguridad de la computación en la nube, desbloqueando su pleno potencial.
Al ofrecer protección sin precedentes de datos y código sensibles durante la ejecución, los Entornos de Ejecución de Confianza permiten a las organizaciones fortalecer su postura de seguridad y aprovechar tecnología lista para el futuro hoy.
Computación en la nube
- Cómo una Protección Adecuada Garantiza la Durabilidad a Largo Plazo de la Máquina
- 5 Razones Clave por las que Toda Empresa Manufacturera Debe Adoptar Big Data
- Cómo la automatización inteligente puede elevar la productividad manufacturera del Reino Unido
- Protegiendo conductores de flota ante el COVID-19: Estrategias esenciales de seguridad y cumplimiento
- Guía GDPR: Lo Que Necesitas Saber Sobre la Ley Europea de Privacidad de Datos
- Kontron lanza CP6940: Switch robusto 40 GbE para entornos extremos
- Aprovechando Big Data y Cloud Computing para impulsar el crecimiento empresarial
- Edge Computing desmitificado: Casos de uso prácticos en transporte, utilities y manufactura
- Salvaguardar la Adopción IoT: Estrategias Comprobadas de Ciberseguridad y Privacidad para Empresas
- Cómo el Análisis en Tiempo Real Mejora la Seguridad en Campus para Estudiantes, Personal y Facultad
- Desbloqueando inteligencia continua: casos de uso empresariales e insights en tiempo real