¿Cómo funciona el cifrado de iOS?

Funciones de seguridad de hardware:

Cada dispositivo iOS tiene un motor de cifrado AES 256 dedicado integrado en la ruta DMA entre el almacenamiento flash y la memoria principal del sistema, lo que hace que el cifrado de archivos sea altamente eficiente. En los procesadores A9 o posteriores de la serie A, el subsistema de almacenamiento flash está en un bus aislado al que solo se le otorga acceso a la memoria que contiene datos del usuario a través del motor de cifrado DMA.

La ID única (UID) del dispositivo y una ID de grupo de dispositivos (GID) son claves AES de 256 bits fusionadas (UID) o compiladas (GID) en el procesador de la aplicación y Secure Enclave durante la fabricación. Ningún software o firmware puede leerlos directamente; solo pueden ver los resultados de las operaciones de cifrado o descifrado realizadas por motores AES dedicados implementados en silicio utilizando el UID o GID como clave. Además, el UID y el GID del Secure Enclave solo pueden ser utilizados por el motor AES dedicado al Secure Enclave. Los UID son exclusivos de cada dispositivo y Apple ni ninguno de sus proveedores los registra.

Protección de datos de archivo:

Además de las características de cifrado de hardware integradas en los dispositivos iOS, Apple utiliza una tecnología llamada Protección de datos para proteger aún más los datos almacenados en la memoria flash del dispositivo. La Protección de datos permite que el dispositivo responda a eventos comunes, como llamadas telefónicas entrantes, pero también permite un alto nivel de cifrado para los datos del usuario. Las aplicaciones clave del sistema, como los mensajes, el correo, el calendario, los contactos, las fotos y los valores de datos de salud, usan la protección de datos de forma predeterminada, y las aplicaciones de terceros instaladas en iOS 7 o posterior reciben esta protección automáticamente. La protección de datos se implementa al construir y administrar una jerarquía de claves, y se basa en las tecnologías de cifrado de hardware integradas en cada dispositivo iOS. La protección de datos se controla por archivo asignando cada archivo a una clase; la accesibilidad está determinada por si las claves de clase se han desbloqueado.

Descripción de la arquitectura:

Cada vez que se crea un archivo en la partición de datos, Data Protection crea una nueva clave de 256 bits (la clave “por archivo”) y se la entrega al motor AES de hardware, que utiliza la clave para cifrar el archivo a medida que se escribe a la memoria flash usando el modo AES CBC. (En dispositivos con un procesador A8, se usa AES-XTS). El vector de inicialización (IV) se calcula con el desplazamiento del bloque en el archivo, encriptado con el hash SHA-1 de la clave por archivo. está envuelto con una de varias claves de clase, dependiendo de las circunstancias bajo las cuales el archivo debe ser accesible. Como todas las demás envolturas, esto se realiza utilizando la envoltura de clave NIST AES, según RFC 3394. La clave envuelta por archivo se almacena en los metadatos del archivo. Cuando se abre un archivo, sus metadatos se descifran con la clave del sistema de archivos, revelando la clave envuelta por archivo y una notación en qué clase lo protege. La clave por archivo se desenvuelve con la clave de clase, luego se suministra al motor AES de hardware, que descifra el archivo a medida que se lee desde la memoria flash. Todo el manejo de la clave del archivo envuelto ocurre en el Enclave seguro; la clave del archivo nunca se expone directamente al procesador de la aplicación. En el arranque, el enclave seguro negocia una clave efímera con el motor AES. Cuando Secure Enclave desenvuelve las claves de un archivo, se vuelven a envolver con la clave efímera y se envían de vuelta al procesador de la aplicación. Los metadatos de todos los archivos en el sistema de archivos se cifran con una clave aleatoria, que se crea cuando iOS se instala por primera vez o cuando un usuario borra el dispositivo. La clave del sistema de archivos se almacena en Effaceable Storage. Dado que está almacenado en el dispositivo, esta clave no se utiliza para mantener la confidencialidad de los datos; en cambio, está diseñado para borrarse rápidamente a pedido (por el usuario con la opción “Borrar todo el contenido y la configuración”, o por un usuario o administrador que emite un comando de borrado remoto desde un servidor de administración de dispositivos móviles, Exchange ActiveSync o iCloud). Borrar la clave de esta manera hace que todos los archivos sean criptográficamente inaccesibles.

Fuente: https: //www.apple.com/business/d…