Encriptación en iCloud
La encriptación de datos en iCloud está relacionada directamente con el modelo de almacenamiento de datos, comenzando con las infraestructuras y las API de CloudKit que permiten que las apps y el software del sistema almacenen datos en iCloud en nombre del usuario y que mantengan todo actualizado en todos los dispositivos y en Internet.
Encriptación de CloudKit
CloudKit es una infraestructura que permite a los desarrolladores de apps almacenar en iCloud datos de clave-valor, datos estructurados y recursos (datos de gran tamaño almacenados de forma separada de la base de datos, tales como imágenes o videos). CloudKit es compatible con bases de datos tanto públicas como privadas, agrupadas en contenedores. Las bases de datos públicas se comparten globalmente, se usan por lo general para recursos genéricos y no están encriptadas. Mientras que las bases de datos privadas almacenan los datos en iCloud de cada usuario.
CloudKit utiliza una jerarquía de claves que coincide con la estructura de los datos. La base de datos privada de cada contenedor está protegida por una jerarquía de claves, arraigada en una clave asimétrica denominada clave de servicio de CloudKit. Estas claves son únicas para cada usuario de iCloud y se generan en su dispositivo de confianza. Al escribir datos en CloudKit, todas las claves de registro se generan en el dispositivo de confianza del usuario y se ajustan a la jerarquía de claves adecuada antes de que se carguen los datos.
Muchos servicios de Apple, enumerados en el artículo de soporte de Apple Descripción general de la seguridad de datos de iCloud, usan encriptación de extremo a extremo con una clave de servicio de CloudKit protegida del mismo modo que la sincronización del llavero de iCloud. En estos contenedores CloudKit, las claves de servicio están disponibles únicamente en dispositivos de confianza del usuario, y ni Apple ni terceros pueden acceder a ellas. Estas claves se sincronizan entre los dispositivos del usuario incluso si eligió no usar el llavero de iCloud para sincronizar sus contraseñas, llaves de acceso y otros datos de usuario. En caso de perder el dispositivo, los usuarios pueden recuperar sus datos del llavero de iCloud mediante el uso de la recuperación segura del llavero de iCloud, los contactos de recuperación de la cuenta o una clave de recuperación de la cuenta.
Administración de las claves de encriptación
La seguridad de los datos encriptados en CloudKit está basada en la seguridad de las claves de encriptación correspondientes. Las claves de servicio de CloudKit se dividen en dos categorías: las encriptadas de extremo a extremo y las disponibles después de la autenticación.
Claves de servicio encriptadas de extremo a extremo: en el caso de los servicios de iCloud encriptados de extremo a extremo, las claves privadas del servicio CloudKit nunca están disponibles para los servidores de Apple. Los pares de claves de servicio, incluyendo las claves privadas, se crean de forma local en el dispositivo de confianza del usuario y se transfieren a sus otros dispositivos mediante la seguridad del llavero de iCloud. Aunque los flujos de sincronización y recuperación del llavero de iCloud están mediados por los servidores de Apple, se impide criptográficamente que estos servidores accedan a los datos del llavero del usuario. En el peor de los casos, si se pierde el acceso al llavero de iCloud y a todos sus mecanismos de recuperación, los datos encriptados de extremo a extremo en CloudKit se pierden. Apple no puede ayudar a recuperar estos datos.
Claves de servicio disponibles después de la autenticación: en el caso de otros servicios, como Fotos y iCloud Drive, las claves de servicio se almacenan en los módulos de seguridad del hardware de iCloud en los centros de datos de Apple, y es posible que algunos servicios de Apple puedan acceder a ellas. Cuando un usuario inicia sesión en iCloud en un nuevo dispositivo y autentica su Apple ID, los servidores de Apple pueden acceder a estas claves sin necesidad de otra interacción o entrada del usuario. Por ejemplo, después de iniciar sesión en iCloud.com, el usuario puede ver inmediatamente sus fotos en línea. Estas claves de servicio son claves que están disponibles después de la autenticación.