Encriptación de iCloud
La encriptación de datos en iCloud está directamente relacionada con el modelo de almacenamiento de datos, empezando por las API y estructuras de CloudKit que permiten que las apps y el software del sistema almacenen datos en iCloud en nombre del usuario y mantienen todo actualizado en todos los dispositivos y en la web.
Encriptación de CloudKit
CloudKit es una estructura que permite a los desarrolladores de apps almacenar en iCloud datos de clave-valor, datos estructurados y activos (datos de gran tamaño almacenados fuera de la base de datos, como imágenes y vídeos). CloudKit es compatible con bases de datos tanto públicas como privadas, agrupadas en contenedores. Las bases de datos públicas, que suelen utilizarse para activos genéricos, se comparten de forma global y no están encriptadas. Los datos de iCloud del usuario se almacenan en las bases de datos privadas.
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, con una raíz de clave asimétrica llamada clave de servicio de CloudKit. Estas claves son únicas para cada usuario de iCloud y se generan en el dispositivo de confianza. Cuando los datos se escriben en CloudKit, todas las claves de registro se generan en el dispositivo de confianza del usuario y, antes de subir ningún dato, se encapsulan con la jerarquía de claves adecuada.
Muchos servicios de Apple, enumerados en el artículo del servicio de soporte de Apple Información general sobre la seguridad de los datos de iCloud, emplean la encriptación punto a punto con una clave de servicio de CloudKit protegida de la misma manera que la sincronización del llavero de iCloud. Para estos contenedores de CloudKit, las claves están disponibles únicamente en los dispositivos de confianza del usuario y ni Apple ni ningún tercero pueden acceder a ellas. Estas claves se sincronizan entre los dispositivos de un usuario, aunque este decida no utilizar el llavero de iCloud para sincronizar sus contraseñas, llaves de acceso y otros datos de usuario. Si pierden su dispositivo, los usuarios pueden recuperar los datos del llavero de iCloud a través de la recuperación segura del llavero de iCloud, los contactos de recuperación de la cuenta o una clave de recuperación de cuenta.
Gestión de claves de encriptación
La seguridad de los datos encriptados en CloudKit depende de la seguridad de las correspondientes claves de encriptación. Las claves del servicio CloudKit se dividen en dos categorías: con encriptación de punto a punto y disponibles tras la autenticación.
Claves de servicio con encriptación de punto a punto: Para los servicios de iCloud con encriptación de punto a punto, las claves privadas de servicio de iCloud pertinentes nunca están disponibles para los servidores de Apple. Las parejas de claves de servicio, incluidas las privadas, se crean en local en un dispositivo de confianza del usuario y se transfieren a los otros dispositivos del usuario mediante el uso de la seguridad del llavero de iCloud. Aunque los flujos de recuperación y sincronización del llavero de iCloud están mediados por los servidores de Apple, estos servidores tienen el acceso a cualquiera de los datos del llavero del usuario bloqueado por medios criptográficos. En el caso extremo de que el usuario perdiera el acceso al llavero de iCloud y a todos los mecanismos de recuperación, perdería los datos con encriptación punto a punto de CloudKit. Apple no puede ayudar a recuperar estos datos.
Claves de servicio disponibles tras la autenticación: Para otros servicios, como Fotos y iCloud Drive, las claves de servicio se almacenan en los módulos de seguridad de hardware de iCloud de los centros de datos de Apple y son accesibles para algunos servicios de Apple. Cuando un usuario inicia sesión en iCloud desde un nuevo dispositivo y autentica su ID de Apple, estas claves son accesibles para los servidores de Apple sin la intervención del usuario. Por ejemplo, el usuario puede ver sus fotos en línea nada más iniciar sesión en iCloud.com. Estas claves de servicio son claves disponibles tras la autenticación.