Protección de datos en dispositivos Apple
En dispositivos Apple con Protección de datos, cada archivo está protegido con una clave por archivo (o por área) única. La clave, encapsulada con el algoritmo de encapsulación de claves NIST AED, se encapsula adicionalmente con una clave de clase determinada, en función de cómo vaya a accederse al archivo. La clave por archivo encapsulada se almacena en los metadatos del archivo.
Los dispositivos que usen el formato APFS podrán clonar archivos (copias de coste cero que usan la tecnología de copia al escribir). Si se clona un archivo, cada mitad del clon obtiene una clave nueva para aceptar las escrituras entrantes, de modo que los datos nuevos se escriben en el medio con una clave nueva. Con el tiempo, el archivo podría contar con varias áreas (o fragmentos), cada una de ellas con una clave distinta asignada. Sin embargo, la misma clave de clase guarda todas las áreas que componen un archivo.
Al abrir un archivo, sus metadatos se desencriptan con la clave del sistema de archivos y de este modo se muestra la clave por archivo encapsulada y una anotación sobre la clase que lo protege. La clave por archivo (o por área) se desencapsula con la clave de clase y, después, se proporciona al motor AES de hardware, que desencripta el archivo cuando se lee en el almacenamiento flash. La gestión de claves de archivos encapsuladas se realiza en Secure Enclave; la clave de archivo nunca se expone directamente al procesador de aplicaciones. En el arranque, Secure Enclave negocia una clave efímera con el motor AES. Cuando Secure Enclave desencapsula las claves de un archivo, estas vuelven a encapsularse con la clave efímera y se envían de vuelta al procesador de aplicaciones.
Los metadatos de todos los archivos del sistema de archivos del volumen de datos se encriptan con una clave de volumen aleatoria, que se crea la primera vez que se instala el sistema operativo o cuando un usuario borra el contenido del dispositivo. Mediante una clave de encapsulación de claves que solo Secure Enclave conoce, se encripta y encapsula la clave para el almacenamiento a largo plazo. La clave de encapsulación de claves cambia cada vez que un usuario borra su dispositivo. En el SoC A9 y posteriores, Secure Enclave depende de la entropía, respaldada por sistemas antirreproducción, para lograr la capacidad de borrado y proteger su clave de encapsulación de claves, entre otros componentes. Para obtener más información, consulta Almacenamiento seguro no volátil.
Al igual que las claves por archivo o por área, la clave de los metadatos del volumen de datos nunca se expone directamente al procesador de aplicaciones, sino que Secure Enclave proporciona una versión efímera por arranque. Cuando se guarda, la clave encriptada del sistema de archivos se vuelve a encapsular con una “clave borrable” almacenada en el almacenamiento borrable o con una clave de encapsulación de contenido protegida por el mecanismo de antirreproducción de Secure Enclave. Esta clave no se ha diseñado para que los datos sean más confidenciales, sino para que se pueda borrar rápidamente por petición (los usuarios pueden hacerlo con la opción “Borrar contenidos y ajustes”, y los administradores o usuarios, mediante un comando de borrado remoto desde una solución de gestión de dispositivos móviles (MDM), desde Microsoft Exchange ActiveSync o desde iCloud). Al borrar la clave de esta manera, se deja de poder acceder a todos los archivos encriptados.
Puede que el contenido de un archivo esté encriptado con una o más claves por archivo (o por área) encapsuladas con una clave de clase y almacenadas en los metadatos del archivo, que a su vez está encriptado con la clave del sistema de archivos. La clave de clase se protege con el UID de hardware y, en el caso de algunas clases, con el código del usuario. Esta jerarquía proporciona flexibilidad y rendimiento. Por ejemplo, para cambiar la clase de un archivo, basta con volver a encapsular su clave por archivo y un cambio del código volverá a encapsular la clave de clase.