Proceso de arranque para dispositivos iPhone y iPad
Todos los pasos del proceso de arranque contienen componentes firmados criptográficamente por Apple para permitir la comprobación de integridad, de forma que el arranque continúe únicamente después de haber verificado la cadena de confianza. Entre estos componentes se incluyen los cargadores de arranque, el kernel, las extensiones del kernel y el firmware de banda base móvil. Esta cadena de arranque segura está diseñada para verificar que los niveles más bajos del software no se han manipulado.
Cuando se enciende un dispositivo iPhone y iPad, el procesador de aplicaciones ejecuta inmediatamente código de la memoria de solo lectura (que se conoce como ROM de arranque). Este código inmutable, que también se conoce como raíz de confianza de hardware, se establece durante la fabricación del chip y se confía en él implícitamente. El código de la ROM de arranque contiene la clave pública de la autoridad de certificación raíz de Apple, que se utiliza para verificar que el cargador de arranque iBoot tiene la firma de Apple antes de permitir que se cargue. Este es el primer paso de la cadena de confianza, en la que cada paso comprueba que el siguiente está firmado por Apple. Cuando iBoot termina de realizar las tareas que tiene asignadas, verifica y ejecuta el kernel de iOS o iPadOS. En el caso de los dispositivos con un procesador A9 o anterior de la serie A, la ROM de arranque carga y verifica otra fase del cargador de arranque de bajo nivel (LLB) que, a su vez, carga y verifica iBoot.
Los fallos a la hora de cargar o de verificar las siguientes fases se gestionan de manera diferente en función del tipo de hardware:
Boot ROM no puede cargar el LLB (dispositivos más 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 posterior) o a iTunes (macOS 10.14 o anterior) mediante USB y se deben restaurar los ajustes originales de fábrica.
Para limitar el acceso a los datos del usuario en distintos modos, Secure Enclave utiliza el registro de progreso de arranque (BPR), que se actualiza antes de entrar en los siguientes modos:
Modo DFU: Establecido por la ROM de arranque en dispositivos con un sistema en un chip (SoC) de Apple A12 o posteriores.
Modo de recuperación: Establecido por iBoot en dispositivos con un SoC de Apple A10, S2 o posteriores.
En los dispositivos que disponen de acceso a datos móviles, un subsistema de banda base móvil realiza un arranque seguro adicional con software firmado y claves verificadas por el procesador de banda base.
Secure Enclave también realiza un arranque seguro que garantiza que su software (sepOS) está verificado y firmado por Apple.