Resumen
- Apple presenta un sistema centrado en la privacidad, PCC, para procesar datos de usuarios de forma segura en la nube, prometiendo garantías verificables para el manejo de datos.
- PCC utiliza computación sin estado, limita el acceso de Apple a los nodos y reduce el riesgo de ataques dirigidos, centrándose en la verificación del software.
- El compromiso con un software en la nube transparente marca un cambio notable hacia la protección de datos de los usuarios en la nube por parte de Apple, un paso adelante en la protección de la privacidad.
La WWDC llegó con una serie de anuncios de Apple, que van desdepantallas de inicio personalizablesen iOS 18 hastanuevas versiones de macOSy watchOS. Uno de los anuncios más importantes fue "AI" o, como lo están usando, "Apple Intelligence". Representa una serie de funciones e integraciones de iOS diseñadas para llevar el poder de la IA al iPhone. La mayoría de estas integraciones se ejecutarán localmente, ya que Apple mantiene su enfoque en mantener la mayor parte del procesamiento de IA en el dispositivo. Sin embargo, en una admisión tácita de la necesidad del procesamiento en la nube para que las integraciones de IA de los iPhone sigan siendo competitivas, Apple también anunció su Private Cloud Compute (o PCC).
Tendrás que esperar un tiempo para ver las fantásticas funciones de Apple Intelligence de la WWDC 2024
Apple tenía un montón de funciones de IA para mostrar durante la WWDC, pero una vez que se lance en el tercer trimestre de 2024, muchas de ellas no estarán disponibles.
PCC es uno de los anuncios técnicamente más interesantes de la WWDC. Representa la forma en que Apple se enfrenta a uno de los mayores desafíos actuales, no solo en el ámbito de la IA y el aprendizaje automático, sino también en la privacidad del usuario en general.
¿Qué es PCC?
PCC es un sistema centrado en la privacidad para procesar datos de usuarios en la nube
Private Cloud Compute es el sistema de Apple para descargar el procesamiento de datos de los usuarios a servidores en la nube (onodos, como los llamaremos) para ejecutar modelos de ML más complejos que los que estarían disponibles en el dispositivo. Descargar este procesamiento a la nube desde el teléfono es necesario. Si bien los chips móviles son más potentes que nunca, las limitaciones de un dispositivo alimentado por batería aún están presentes.
Esta descarga presenta algunos desafíos difíciles para la privacidad del usuario. En una aplicación de mensajería, donde los datos no necesitan procesarse en la nube, solo sincronizarse entre dispositivos, el cifrado de extremo a extremo (o E2EE) es ahora el estándar de la industria para proteger los datos del usuario. Esto significa que el proveedor de servicios carece de los medios para descifrar y ver sus datos privados, incluso si lo desea. Sin embargo, para las cargas de trabajo de ML, esto aún no es posible, ya que los datos deben ser legibles por el servidor para que los modelos los calculen (aunque, en teoría, esto podría no ser siempre el caso con los avances en ML confidencial y cifrado homomórfico).
Ahí es donde entra en juego la PCC. La PCC es una serie de garantías verificables de Apple sobre cómo se manejarán los datos de los usuarios en la nube. Analizaremos estas garantías con más detalle, pero generalmente consisten en métodos criptográficos (y tecnologías existentes como Secure Enclave) para evitar que cualquier otra persona almacene, comparta o acceda a sus datos, o incluso desde dentro de Apple. Si bien otras empresas pueden hacer afirmaciones similares (como los proveedores de VPN), Apple está haciendo un intento serio no solo de afirmar que tiene privacidad, sino también de proporcionar pruebas de que es segura.
¿Cómo funciona el PCC?
PCC es una serie de garantías verificables
El PCC de Apple está basado en Apple Silicon y utiliza varias tecnologías que ya se utilizan en iPhones y Macs, como Secure Boot y Secure Enclave. Hay algunas facetas de cómo funcionan estas garantías sobre la privacidad del usuario, y se explican con más detalle en la descripción general dela propia publicación del blogde Apple . También nos han prometido más detalles técnicos una vez que PCC esté funcionando en versión Beta. Sin embargo, para empezar, PCC es solo una serie de servidores en la nube que procesan datos de los usuarios, pero con algunas medidas especiales tomadas para garantizar que los datos de los usuarios se gestionen de forma segura y se eliminen una vez realizado el trabajo.
El cálculo sin estado significa que no se guardan datos en el nodo.
El primer elemento de PCC que Apple destaca es el impulso hacia la computación sin estado, es decir, que no se conservan datos de los usuarios en el nodo de la nube una vez finalizado el cálculo. El proceso de descarga de PCC comienza con una solicitud que activa el teléfono, que proporciona únicamente los datos de los usuarios necesarios para procesar dicha solicitud. Estos datos se cifran con claves publicadas por el nodo PCC en uso y se transmiten de forma segura al nodo. Apple ha diseñado este método de transmisión de forma que ningún dispositivo intermediario (ni siquiera con la infraestructura de Apple, como los balanceadores de carga o las memorias caché) tenga acceso a los datos de los usuarios.
Una vez en el nodo, los datos se procesan según lo solicitado y luego se devuelven al usuario. Una vez que se ha devuelto una respuesta, se eliminan todos los datos del usuario en el nodo. Apple está haciendo uso de Secure Enclave para garantizar que todas las solicitudes al nodo estén cifradas de forma segura, y utiliza Secure Boot y la firma de código para garantizar que solo el código aprobado pueda ejecutarse en el nodo. Aquí tampoco hay lenguajes de ejecución dinámicos, ya que Apple utiliza Swift en su pila de software para garantizar la seguridad de la memoria y mitigar los ataques en tiempo de ejecución. Finalmente, las claves de cifrado de disco en uso son aleatorias por Secure Enclave en cada reinicio, por lo que incluso si los datos del usuario persisten en el disco, serán irrecuperables después de que se reinicie el nodo.
Hay otras cosas que Apple está haciendo aquí para la computación sin estado, por lo que le recomendamos que lea sus publicaciones de blog si está interesado en obtener más información.
Apple está limitando su propio acceso
Otra gran medida de privacidad que Apple está tomando en sus nodos PCC es limitar su propio acceso. Este es un problema históricamente difícil de resolver. El desafío constante de equilibrar el acceso de los desarrolladores para la depuración, la respuesta a incidentes y el desarrollo, junto con las necesidades de seguridad y privacidad de los usuarios, es algo con lo que toda la industria tecnológica se enfrenta constantemente.
Sin embargo, con PCC, Apple está tomando la medida extrema de eliminar incluso su propio acceso a los nodos. Ningún nodo PCC tendrá presente ninguna funcionalidad de shell remota o depuración, y no contará con un método de acceso de emergencia de "romper el cristal" común en toda la industria. La seguridad de los registros también se está tomando en serio, ya que Apple se abstiene de agregar una funcionalidad de registro central a los nodos y exige que los registros se auditen en busca de datos personales antes de permitir que salgan del nodo. Los registros también deben cumplir un esquema predescrito. Apple no se ha comprometido a publicar estos esquemas ni ha entrado en más detalles sobre las implicaciones de no tener un sistema de registro central, lo que hace que sea difícil adivinar cuán efectivo será todo esto.
Realmente parece ser un paso en la dirección correcta para Apple. Limitar su propio acceso de esta manera probablemente dificultará sus operaciones y hará más difícil la respuesta ante incidentes si hay una interrupción en el PCC. Pero parece ser lo correcto.
Apple está reduciendo el riesgo de ataques dirigidos
Apple está mitigando el riesgo de que los atacantes tengan acceso físico a los nodos de varias maneras: exige estándares más estrictos para el hardware Apple Silicon, que se verifica tanto en la fabricación como una vez que llega al centro de datos. Todo el hardware nuevo debe ser activado criptográficamente por Apple, lo que garantiza que ningún teléfono enviará solicitudes a un nodo que no haya sido activado y administrado por Apple.
Nuestro modelo de amenaza para la computación en la nube privada incluye un atacante con acceso físico a un nodo de cómputo y un alto nivel de sofisticación, es decir, un atacante que tiene los recursos y la experiencia para subvertir algunas de las propiedades de seguridad del hardware del sistema y potencialmente extraer datos que están siendo procesados activamente por un nodo de cómputo.
A continuación, se utiliza un conjunto de técnicas que Apple denomina "difusión de destino" para evitar que las solicitudes de un usuario específico se canalicen a nodos específicos. Esto incluye una solicitud de metadatos cifrada por separado a los balanceadores de carga de Apple que no contiene datos de usuario, para permitir el enrutamiento, así como la implementación de un relé OHTTP de terceros para evitar ataques de enrutamiento de balanceadores de carga comprometidos según la dirección IP de origen. Esto es un poco complicado, pero el efecto es que un atacante necesitaría controlar varios elementos distintos de la infraestructura de Apple, así como potencialmente el nodo OHTTP de terceros, para dirigir de manera efectiva el tráfico de un usuario específico a un nodo comprometido. Con suerte, este escenario se volverá imposible gracias a sus protocolos.
PCC se centra en la verificación de software
Apple está dando grandes pasos hacia un software en la nube verificable públicamente
El último paso, y posiblemente el más importante, que Apple está dando hacia la protección de los datos de los usuarios en la nube es un compromiso con la transparencia verificable para el software que se ejecuta en los nodos PCC. Esto significa que Apple publicará todas las imágenes de producción del software que se ejecuta en cada nodo PCC y proporcionará a los teléfonos una forma criptográfica de verificar que la imagen del software que se ejecuta en un nodo está publicada por Apple y disponible para la inspección de los investigadores. No daremos muchos detalles aquí, ya que se trata de un sistema complicado, pero utiliza una combinación de Secure Enclave y Code Signing para garantizar que no se esté ejecutando ningún código no autorizado en un nodo y, a continuación, proporciona una forma criptográfica de probarlo a un dispositivo externo, utilizando de nuevo la funcionalidad de Secure Enclave. Esto garantiza que su teléfono pueda verificar que un nodo está ejecutando software publicado y verificable de forma pública, y que no ha sido manipulado.
Esto es un gran avance en sí mismo, pero Apple también publicará el código fuente de algunas áreas críticas de la configuración de seguridad de los nodos PCC, aunque aún no se han publicado, así como versiones en texto simple de su firmware iBoot y sepOS. Este es otro gran paso adelante que no tiene precedentes para nadie, y mucho menos para Apple.
Este es un proceso extremadamente raro para cualquier tipo de implementación de esta escala. No es infalible, a pesar de los generosos programas de recompensas por errores de Apple (que continuarán con PCC), esto requerirá una gran cantidad de trabajo por parte de los investigadores de seguridad para deconstruir binarios y realmente comenzar a inspeccionar estos nodos. Pero es definitivamente un gran paso adelante con respecto al manejo normal de datos de usuario de "caja negra" de muchos proveedores de servicios.
Apple se toma en serio la privacidad del usuario
Independientemente de si eres usuario de Apple o no, el historial de la empresa en materia de protección de datos y privacidad de los usuarios, tanto en dispositivos como en la nube, es líder en la industria. El efecto de todas estas garantías y métodos de verificación es que los investigadores, desarrolladores y usuarios pueden inspeccionar ellos mismos los servicios en la nube con los que interactúan y verificar su seguridad. Si bien esto no es una garantía de que los servicios no se vean comprometidos, este sistema de verificación comunitaria sustenta todoel software de código abierto. Tendremos que esperar y ver si el compromiso de Apple con la seguridad de los usuarios para el aprendizaje automático en la nube continúa a largo plazo, pero el diseño general del sistema PCC es extremadamente prometedor.