Processus de démarrage pour les appareils iPhone et iPad
À chaque étape du processus de démarrage, des composants à signature cryptographique Apple permettent une vérification de l’intégrité, de sorte que le démarrage a lieu uniquement une fois que la chaîne de confiance est établie. Ces composants comprennent les chargeurs d’amorçage, le noyau, les extensions du noyau et le programme interne de bande de base cellulaire. Cette chaîne de démarrage sécurisé est conçue pour vérifier que les niveaux les plus bas des logiciels ne sont pas altérés.
Au démarrage d’un appareil iPhone et iPad, le processeur d’application de ce dernier exécute immédiatement un programme stocké dans une mémoire en lecture seule appelée « mémoire morte d’amorçage ». Ce code immuable, qui fait office de base matérielle sécurisée, est défini pendant la fabrication de la puce et est implicitement digne de confiance. La mémoire morte d’amorçage contient la clé publique d’autorité de certification Apple Root, qui sert à vérifier que le chargeur d’amorçage iBoot est signé par Apple avant d’autoriser son chargement. Cette étape est la première d’une chaîne de confiance où chaque étape vérifie que le certificat de la suivante est bien signé par Apple. Lorsqu’iBoot termine ses tâches, il vérifie et exécute le noyau iOS ou iPadOS. Pour les appareils dotés d’un processeur A9 ou de génération antérieure de la série A, la mémoire morte d’amorçage charge et vérifie une étape de chargeur d’amorçage de niveau inférieur (LLB) supplémentaire qui à son tour charge et vérifie iBoot.
L’échec du chargement ou de la vérification des étapes suivantes est géré différemment selon le matériel :
La mémoire morte d’amorçage n’arrive pas à charger le LLB (sur les vieux appareils) : mode de mise à niveau du programme interne de l’appareil (DFU).
LLB ou iBoot : mode de récupération.
Dans les deux cas, l’appareil doit être connecté au Finder (sous macOS 10.15 et les versions ultérieures) ou à iTunes (sous macOS 10.14 et les versions antérieures) par USB, et ses réglages d’origine par défaut, restaurés.
Le registre de progression du démarrage (BPR) est utilisé par le Secure Enclave pour limiter l’accès aux données des utilisateurs dans différents modes et est mis à jour avant le démarrage des modes suivants :
Mode DFU : réglé par la mémoire morte d’amorçage sur les appareils dotés d’un système sur une puce A12 ou de génération ultérieure d’Apple.
Mode de récupération : réglé par iBoot sur les appareils dotés d’un système sur une puce A10, S2 ou de génération ultérieure d’Apple.
Sur les appareils avec connectivité cellulaire, un sous‑système de bande de base cellulaire effectue un démarrage sécurisé supplémentaire au moyen d’un logiciel et de clés signés et vérifiés par le processeur de bande de base.
Le Secure Enclave effectue également un démarrage sécurisé qui vérifie que son logiciel (sepOS) est vérifié et signé par Apple.