Proceso de arranque para dispositivos iPhone y iPad
Todos los pasos del proceso de arranque contienen componentes firmados criptográficamente por Apple que permiten revisar la integridad con el fin de llevar a cabo el arranque únicamente después de haber verificado la cadena de confianza. Estos componentes incluyen los gestores de arranque, el kernel, las extensiones del kernel y el firmware de banda base celular. Esta cadena de arranque seguro está diseñada para verificar que no se manipulen los niveles más profundos del software.
Cuando se enciende un dispositivo iPhone o iPad, su procesador de aplicaciones ejecuta inmediatamente el código de la memoria de sólo lectura (conocido como ROM de arranque). Este código inmutable, también conocido como raíz de confianza de hardware, se establece durante la fabricación del chip y, de forma implícita, es de confianza. El código de la memoria ROM de arranque contiene la clave pública de la autoridad de certificación (CA) raíz de Apple, que se utiliza para verificar que los gestores de arranque iBoot tengan la firma de Apple antes de permitir que se carguen. Este es el primer paso de la cadena de confianza, en la que cada paso verifica que el siguiente esté firmado por Apple. Cuando el iBoot termina sus operaciones, verifica y ejecuta el kernel de iOS o iPadOS. Para dispositivos con un procesador A9 o modelos anteriores de la serie A, existe un gestor de arranque de bajo nivel (LLB) adicional que se carga y verifica con la ROM de arranque, que a su vez carga y verifica iBoot.
Los intentos fallidos de carga o verificación de las siguientes fases se manejan de formas distintas según el hardware:
La ROM de arranque no puede cargar los gestores de arranque de bajo nivel (LLB) (dispositivos antiguos): modo de actualización del firmware del dispositivo (DFU)
LLB o iBoot: modo de recuperación
En cualquier caso, el dispositivo debe estar conectado al Finder (macOS 10.15 o versiones posteriores) o a iTunes (macOS 10.14 o versiones anteriores) mediante USB y restaurado a la configuración predeterminada de fábrica.
El Secure Enclave utiliza el registro del proceso de arranque (BPR) para limitar el acceso a los datos del usuario en diferentes modos y este se actualiza antes de ingresar a los siguientes modos:
Modo de actualización del firmware del dispositivo (DFU): establecido por la ROM de arranque en dispositivos con el SoC A12 de Apple o modelos posteriores.
Modo de recuperación: establecido por iBoot en dispositivos con los SoC A10 y S2 de Apple o modelos posteriores.
En el caso de los dispositivos que disponen de acceso a datos celulares, el subsistema realiza un proceso de arranque seguro adicional con software firmado y claves verificadas por el procesador de banda base celular.
El Secure Enclave también realiza un arranque seguro que verifica que su propio software (sepOS) cuente con la verificación y firma de Apple.