PCC de Apple vs. Computación Confidencial: Claves de Seguridad
En el panorama en rápida evolución de la ciberseguridad, surgen con frecuencia nuevos acrónimos y tecnologías, lo que a menudo genera confusión. Entre los avances recientes, el Private Cloud Compute (PCC) de Apple, anunciado el año pasado para permitir el acceso privado a Apple Intelligence, se discute con frecuencia junto con la computación confidencial. Si bien ambas tecnologías tienen como objetivo mejorar la seguridad de los datos en entornos de nube y aprovechan hardware especializado, abordan modelos de amenaza distintos y emplean enfoques fundamentales diferentes. Comprender estas distinciones es crucial para las organizaciones que evalúan tecnologías de seguridad y toman decisiones informadas sobre la protección de cargas de trabajo sensibles.
Apple introdujo PCC para extender su compromiso de larga data con el procesamiento en el dispositivo y la privacidad del usuario a modelos de inteligencia artificial más grandes. A medida que estos modelos crecieron en complejidad, el procesamiento en el dispositivo se volvió menos factible, lo que requirió una solución basada en la nube. La idea central de PCC es lograr un nivel de privacidad comparable al procesamiento en el dispositivo, incluso cuando se utilizan recursos remotos en la nube. Esto se logra a través de nodos especializados construidos con una cadena de suministro de hardware-software altamente segura. Estos nodos emplean mecanismos de arranque seguro para garantizar que todo el código esté firmado por una clave respaldada por hardware, y los datos en reposo se cifran con claves aleatorias inaccesibles entre reinicios. Además, los datos del usuario se cifran durante el tránsito desde un dispositivo a un nodo PCC específico, lo que evita que los atacantes redirijan el tráfico a nodos comprometidos. Una característica clave de PCC es su capacidad de atestación remota, que permite a los nodos verificar criptográficamente que están ejecutando software listado públicamente. Este mecanismo permite no solo a Apple, sino también a investigadores externos, verificar de forma independiente la integridad del código que se ejecuta en los nodos PCC, fomentando la transparencia y generando confianza a través de la verificabilidad pública. PCC defiende principalmente contra ataques a nivel de red, escenarios de hombre en el medio y posible uso indebido por parte de la propia Apple a través de sus procesos de verificación transparentes.
En contraste, la computación confidencial se centra en proteger los datos mientras se procesan activamente, o “en uso”. Esto se logra ejecutando aplicaciones sensibles dentro de un Entorno de Ejecución Confiable (TEE) respaldado por hardware. Un TEE opera junto con la unidad central de procesamiento (CPU), proporcionando sólidas garantías para la integridad de los datos, la confidencialidad de los datos y la integridad del código. Efectivamente, la computación confidencial cambia el límite de confianza del software al hardware, asegurando que otros usuarios, o incluso el sistema operativo y el hipervisor subyacentes, no puedan interferir ni leer datos de una aplicación que se ejecuta dentro del TEE. Similar a PCC, la computación confidencial también utiliza la atestación remota. Aquí, la atestación proporciona una prueba criptográfica de que una aplicación se está ejecutando realmente dentro de un TEE. La aplicación y su entorno dentro del TEE están firmados por una clave de hardware, lo que permite a un verificador remoto confirmar que la aplicación esperada se está ejecutando en el entorno seguro esperado. El modelo de amenaza de la computación confidencial aborda específicamente los ataques de software privilegiado (incluidos los sistemas operativos y los hipervisores comprometidos), los riesgos multiusuario inherentes a la infraestructura de nube compartida y los escenarios en los que el propio proveedor de la nube no puede ser completamente confiado con datos sensibles durante el procesamiento.
Si bien ambas tecnologías incorporan la atestación remota y dependen de hardware especializado para la seguridad, sus objetivos divergen significativamente. Ambas prueban a una parte remota qué se está ejecutando en qué dispositivo, pero sirven para diferentes propósitos de verificación y operan en diferentes capas de la pila tecnológica. PCC aprovecha una cadena de suministro de hardware especializada y claves de hardware para evitar la manipulación de sus nodos, asegurando la integridad de la propia infraestructura. La computación confidencial, por otro lado, utiliza TEEs de hardware para aislar la ejecución de código y emplea claves de firma de hardware para verificar la integridad del entorno aislado.
La distinción fundamental radica en su enfoque de la confianza. PCC proporciona comunicación reforzada y un entorno de dispositivo en la nube de confianza, con el objetivo de generar confianza en la infraestructura y sus rutas de comunicación. Sin embargo, dentro del entorno PCC de confianza, los datos se descifran y procesan en claro. La computación confidencial, por el contrario, opera bajo el supuesto de que el dispositivo en la nube y la infraestructura podrían seguir sin ser de confianza. Protege los datos mediante cifrado incluso durante el procesamiento, asegurando que la información permanezca cifrada y accesible solo dentro del entorno TEE protegido por hardware. En pocas palabras, PCC busca mejorar la confianza en la infraestructura de la nube, mientras que la computación confidencial tiene como objetivo proteger los datos a pesar de la posible desconfianza en la infraestructura de la nube.
La elección entre el Private Cloud Compute de Apple y la computación confidencial depende en gran medida del modelo de amenaza específico de una organización, las limitaciones de infraestructura y las suposiciones de confianza sobre su entorno de nube. PCC ofrece una fuerte protección para los dispositivos Apple que aprovechan el procesamiento de IA en la nube, pero su modelo se basa en la capacidad única de Apple para controlar una cadena de suministro de hardware estrechamente integrada y todo el ecosistema, lo que dificulta su replicación a gran escala. Para las organizaciones que buscan proteger cargas de trabajo sensibles en entornos de nube que no controlan completamente, la computación confidencial ofrece un enfoque más ampliamente aplicable. Proporciona una protección robusta incluso cuando se utilizan proveedores de nube de terceros e infraestructura compartida, lo que la hace adecuada para una gama más amplia de casos de uso más allá del ecosistema específico de Apple.