Secure Enclave
Le Secure Enclave est un sous-système dédié intégré dans les derniers modèles d’iPhone, d’iPad, de Mac, d’Apple TV, d’Apple Watch et de HomePod.
Aperçu
Le Secure Enclave est un sous-système sécurisé dédié intégré aux systèmes sur une puce d’Apple. Le Secure Enclave est isolé du processeur principal pour fournir une couche supplémentaire de sécurité. Il est conçu pour sécuriser les données sensibles de l’utilisateur, et ce, même lorsque le noyau du processeur d’application est compromis. Il suit les mêmes principes que le système sur une puce : une mémoire morte d’amorçage pour établir une base matérielle sécurisée, un moteur AES assurant des opérations de chiffrement sûres et efficaces et une mémoire protégée. Bien que le Secure Enclave ne comporte pas d’espace de stockage, il dispose d’un mécanisme pour stocker les informations de façon sécuritaire sur un dispositif de stockage rattaché qui est indépendant du stockage flash NAND utilisé par le processeur d’application et le système d’exploitation.
Le Secure Enclave est une fonctionnalité matérielle qui est intégrée à la plupart des modèles d’iPhone, d’iPad, de Mac, d’Apple TV, d’Apple Watch et de HomePod, à savoir :
iPhone 5s et modèles plus récents;
iPad Air et modèles plus récents;
Ordinateurs Mac avec puce Apple
les ordinateurs MacBook Pro avec Touch Bar (2016 et 2017) équipés de la puce T1 d’Apple;
les ordinateurs Mac avec processeur Intel équipés de la puce T2 Security d’Apple;
Apple TV HD et modèles plus récents;
Apple Watch Series 1 et modèles plus récents;
HomePod et HomePod mini.
Processeur Secure Enclave
Le processeur Secure Enclave est la principale source de puissance de calcul du Secure Enclave. Pour assurer une isolation maximale, le processeur Secure Enclave est à l’usage exclusif du Secure Enclave. Cela permet de prévenir les attaques par canal auxiliaire, qui dépendent de logiciels malveillants partageant le même cœur d’exécution que le logiciel ciblé.
Le processeur Secure Enclave exécute une version adaptée du micronoyau L4. Il est conçu pour fonctionner efficacement à une fréquence d’horloge inférieure, ce qui le prémunit contre les attaques temporelles et les attaques par analyse de consommation. À partir des systèmes sur une puce A11 et S4, le processeur Secure Enclave comprend un moteur de protection de la mémoire, une mémoire chiffrée dotée de capacités antirejeu, le démarrage sécurisé, un générateur de nombres aléatoires dédié et un moteur AES propre.
Moteur de protection de la mémoire
Le Secure Enclave fonctionne à partir d’une zone dédiée de la mémoire vive dynamique (DRAM) de l’appareil. Plusieurs couches de protection isolent la mémoire protégée du Secure Enclave du processeur d’application.
Lorsque l’appareil démarre, la mémoire morte d’amorçage du Secure Enclave génère une clé de protection de la mémoire éphémère destinée au moteur de protection de la mémoire. Chaque fois que le Secure Enclave écrit dans sa zone de mémoire dédiée, le moteur de protection de la mémoire chiffre le bloc de mémoire au moyen de l’algorithme AES en mode XEX (xor-encrypt-xor) dans le Mac, et calcule une balise d’authentification CMAC (Cipher-based Message Authentication Code, code d’authentification de message basé sur le chiffrement) pour la mémoire. Le moteur de protection de la mémoire stocke la balise d’authentification avec la mémoire chiffrée. Lorsque le Secure Enclave lit la mémoire, le moteur de protection de la mémoire vérifie la balise d’authentification. Si la balise d’authentification concorde, le moteur de protection de la mémoire déchiffre le bloc de mémoire. Dans le cas contraire, le moteur de protection de la mémoire signale une erreur au Secure Enclave. À la suite d’une erreur d’authentification, le Secure Enclave n’accepte plus aucune demande jusqu’au redémarrage du système.
À partir des systèmes sur une puce A11 et S4 d’Apple, le moteur de protection de la mémoire comporte un dispositif antirejeu qui protège la mémoire du Secure Enclave. Afin de contribuer à prévenir toute retransmission de données essentielles, le moteur de protection de la mémoire stocke un numéro unique, appelé valeur antirejeu, destiné au bloc de mémoire pour accompagner la balise d’authentification. La valeur antirejeu sert à perfectionner la balise d’authentification CMAC. Les valeurs antirejeu de tous les blocs de mémoire sont protégées au moyen d’une arborescence d’intégrité rattachée à la mémoire vive statique (SRAM) dédiée au sein du Secure Enclave. Pour les opérations d’écriture, le moteur de protection de la mémoire met à jour la valeur antirejeu et chaque niveau de l’arborescence d’intégrité jusqu’à la SRAM. Pour les opérations de lecture, le moteur de protection de la mémoire vérifie la valeur antirejeu et chaque niveau de l’arborescence d’intégrité jusqu’à la SRAM. Les erreurs de correspondance de la valeur antirejeu sont traitées d’une façon similaire aux erreurs de correspondance de la balise d’authentification.
À partir des systèmes sur une puce A14, M1 ou de génération ultérieure d’Apple, le moteur de protection de la mémoire prend en charge deux clés éphémères de protection de la mémoire. La première est utilisée pour les données confidentielles du Secure Enclave, et la deuxième est utilisée pour les données partagées avec le Neural Engine sécurisé.
Le moteur de protection de la mémoire fonctionne en phase et de façon transparente avec le Secure Enclave. Le Secure Enclave utilise la mémoire en lecture et en écriture comme s’il s’agissait d’une DRAM normale et non chiffrée, alors que tout observateur situé en dehors du Secure Enclave ne voit que la version chiffrée et authentifiée de la mémoire. En résulte une protection robuste de la mémoire sans contrepartie en matière de performance ou de complexité logicielle.
Mémoire morte d’amorçage du Secure Enclave
Le Secure Enclave comprend une mémoire morte d’amorçage dédiée. Semblable à la mémoire morte d’amorçage du processeur d’application, la mémoire morte d’amorçage du Secure Enclave est un code immuable qui établit la base matérielle sécurisée du Secure Enclave.
Lors du démarrage du système, iBoot assigne une zone de mémoire dédiée au Secure Enclave. Avant d’utiliser la mémoire, la mémoire morte d’amorçage du Secure Enclave initialise le moteur de protection de la mémoire pour fournir une protection cryptographique de la mémoire protégée du Secure Enclave.
Le processeur d’application envoie ensuite l’image de sepOS à la mémoire morte d’amorçage du Secure Enclave. Après avoir copié l’image de sepOS dans la mémoire protégée du Secure Enclave, la mémoire morte d’amorçage du Secure Enclave vérifie le hachage cryptographique et la signature de l’image pour vérifier que l’exécution de sepOS est autorisée sur l’appareil. Si l’image de sepOS est correctement signée pour être exécutée sur l’appareil, la mémoire morte d’amorçage du Secure Enclave transmet le contrôle à sepOS. Si la signature n’est pas valide, la mémoire morte d’amorçage du Secure Enclave est conçue pour empêcher toute utilisation du Secure Enclave jusqu’au prochain redémarrage de la puce.
Sur les systèmes sur une puce A10 et de génération ultérieure d’Apple, la mémoire morte d’amorçage du Secure Enclave verrouille un hachage de sepOS dans un registre dédié à cette fin. L’accélérateur de clé publique utilise ce hachage pour les clés liées au système d’exploitation.
Moniteur de démarrage du Secure Enclave
Sur les systèmes sur une puce A13 et de génération ultérieure d’Apple, le Secure Enclave comprend un moniteur de démarrage conçu pour assurer une intégrité plus robuste du hachage de l’instance de sepOS démarrée.
Lors du démarrage du système, la configuration de la protection de l’intégrité du coprocesseur système (SCIP) du Secure Enclave contribue à empêcher le processeur de ce dernier d’exécuter tout code qui ne provient pas de la mémoire morte d’amorçage du Secure Enclave. Le moniteur de démarrage contribue à empêcher le Secure Enclave de modifier directement la configuration de la SCIP. Pour que l’instance de sepOS chargée puisse s’exécuter, la mémoire morte d’amorçage du Secure Enclave envoie au moniteur de démarrage une requête accompagnée de l’adresse et de la taille de l’instance de sepOS chargée. À la réception de la requête, le moniteur de démarrage réinitialise le processeur Secure Enclave, hache l’instance de sepOS chargée, actualise les réglages de la SCIP pour permettre l’exécution de l’instance de sepOS chargée, puis lance l’exécution dans le code qui vient d’être chargé. Pendant que le système poursuit son démarrage, le même processus est employé chaque fois qu’un nouveau code est rendu exécutable. Chaque fois, le moniteur de démarrage met à jour un hachage d’exécution du processus de démarrage. Le moniteur de démarrage inclut aussi des paramètres de sécurité essentiels dans le hachage d’exécution.
Lorsque le démarrage est terminé, le moniteur de démarrage termine le hachage d’exécution et l’envoie à l’accélérateur de clé publique pour être utilisé avec les clés liées au système d’exploitation. Ce processus est conçu de sorte que la liaison des clés du système d’exploitation ne puisse pas être contournée, même en cas de vulnérabilité de la mémoire morte d’amorçage du Secure Enclave.
Générateur de nombres aléatoires matériel
Le TRNG (True Random Number Generator, générateur de nombres aléatoires matériel) est utilisé pour générer des données aléatoires sécurisées. Le Secure Enclave utilise le TRNG chaque fois qu’il génère une clé cryptographique aléatoire, une graine de clé aléatoire ou une autre entropie. Le TRNG repose sur plusieurs générateurs de créneaux post-traités avec l’algorithme CTR_DRBG (qui repose sur des chiffrements par blocs en mode compteur).
Clés cryptographiques racines
Le Secure Enclave comprend une clé cryptographique racine d’UID (Unique ID, identifiant unique). L’UID est unique à chaque appareil et n’est associé à aucun autre identifiant sur l’appareil.
Un UID aléatoire est fusionné au système sur une puce pendant la fabrication. À partir des systèmes sur une puce A9, l’UID est généré par le TRNG du Secure Enclave pendant la fabrication et inscrit dans les « fusibles » au moyen d’un processus logiciel qui s’exécute entièrement dans le Secure Enclave. Ce processus empêche l’UID d’être visible en dehors de l’appareil au cours de sa fabrication, de sorte que ni Apple ni ses fournisseurs ne peuvent y accéder ou le stocker.
sepOS utilise l’UID pour protéger les secrets propres à l’appareil. L’UID permet d’associer des données à un appareil précis de manière cryptographique. Par exemple, la hiérarchie des clés protégeant le système de fichiers comprend l’UID. De la sorte, si le stockage SSD interne est physiquement déplacé d’un appareil à un autre, les fichiers sont inaccessibles. Les autres secrets protégés propres à l’appareil comprennent les données de Face ID ou de Touch ID. Sur un Mac, seul le stockage entièrement interne associé au moteur AES bénéficie de ce niveau de chiffrement. Par exemple, ni les dispositifs de stockage externes connectés par USB ni le stockage PCIe ajouté au Mac Pro 2019 ne sont chiffrés de cette façon.
Le Secure Enclave comporte également un GID (Group ID, identifiant de groupe) d’appareil, qui est commun à tous les appareils dotés d’un système sur une puce donné. Par exemple, tous les appareils équipés du système sur une puce A15 d’Apple partagent le même GID.
L’UID et le GID ne sont pas accessibles par JTAG (Joint Test Action Group) ni d’autres interfaces de débogage.
Moteur AES du Secure Enclave
Le moteur AES du Secure Enclave est un bloc matériel qui sert à la cryptographie symétrique basée sur l’algorithme AES. Il est conçu pour résister aux fuites d’information résultant d’une attaque temporelle ou d’une attaque par analyse de consommation simple. À partir du système sur une puce A9, le moteur AES prévoit aussi des contre-mesures pour parer les attaques par analyse de consommation différentielle.
Le moteur AES prend en charge les clés matérielles et logicielles. Les clés matérielles sont dérivées de l’UID ou du GID du Secure Enclave. Ces clés ne quittent pas le moteur AES et ne sont pas rendues visibles, ni même par le logiciel sepOS. Bien que le logiciel puisse requérir des opérations de chiffrement et de déchiffrement au moyen des clés matérielles, il ne peut pas extraire les clés.
Sur les systèmes sur une puce A10 et de génération ultérieure d’Apple, le moteur AES comprend des bits de départ verrouillables qui diversifient les clés dérivées de l’UID ou du GID. Cela permet de conditionner l’accès aux données selon le mode de fonctionnement de l’appareil. Par exemple, des bits de départ verrouillables sont utilisés pour refuser l’accès aux données protégées par un mot de passe lors du démarrage en mode DFU (Device Firmware Upgrade, mise à niveau du programme interne de l’appareil). Pour en savoir plus, consultez la section Codes et mots de passe.
Moteur AES
Chaque appareil Apple équipé d’un Secure Enclave est doté d’un moteur de chiffrement AES256 dédié (le « moteur AES ») intégré dans le chemin DMA (Direct Memory Access, accès direct à la mémoire) entre le stockage flash NAND (non volatil) et la mémoire principale du système, ce qui rend le chiffrement des fichiers extrêmement efficace. Sur les processeurs A9 et de génération ultérieure de la série A, le sous-système de stockage flash se trouve sur un bus isolé qui est uniquement autorisé à accéder à la mémoire contenant les données utilisateur par le moteur de chiffrement DMA.
Lors du démarrage, sepOS génère une clé d’encapsulation éphémère avec le TRNG. Le Secure Enclave transmet cette clé au moteur AES via des fils dédiés, conçus pour empêcher tout logiciel à l’extérieur d’y accéder. sepOS peut ensuite utiliser la clé d’encapsulation éphémère pour envelopper les clés de fichier afin qu’elles soient utilisées par le pilote du système de fichiers du processeur d’application. Lorsque le pilote du système de fichiers lit ou écrit un fichier, il envoie la clé enveloppée au moteur AES, qui la débloque. Le moteur AES n’expose jamais la clé débloquée au logiciel.
Remarque : Le moteur AES est un composant indépendant du Secure Enclave et du moteur AES du Secure Enclave, mais son fonctionnement est étroitement lié au Secure Enclave, comme le montre le diagramme suivant.
Accélérateur de clé publique
Le PKA (Public Key Accelerator, accélérateur de clé publique) est un bloc matériel utilisé pour effectuer des opérations de cryptographie asymétriques. Le PKA prend en charge les algorithmes de signature et de chiffrement RSA et ECC (Elliptic Curve Cryptography, cryptographie sur les courbes elliptiques). Le PKA est conçu pour résister aux fuites d’information résultant d’une attaque par canal auxiliaire (attaque temporelle, par analyse de consommation simple ou par analyse de consommation différentielle).
Le PKA prend en charge les clés logicielles et matérielles. Les clés matérielles sont dérivées de l’UID ou du GID du Secure Enclave. Ces clés ne quittent pas le PKA et ne sont pas rendues visibles, ni même par le logiciel sepOS.
À partir des systèmes sur une puce A13, les applications du chiffrement du PKA se sont avérées mathématiquement correctes selon les techniques de vérification formelle.
Sur les systèmes sur une puce A10 et de génération ultérieure d’Apple, le PKA prend en charge les clés liées au système d’exploitation, sous l’appellation protection scellée des clés (SKP). Ces clés sont générées à partir d’une combinaison de l’UID de l’appareil et du hachage de l’instance de sepOS en cours d’exécution sur l’appareil. Le hachage est fourni par la mémoire morte d’amorçage du Secure Enclave ou son moniteur de démarrage sur le système sur une puce A13 ou de génération ultérieure d’Apple. Ces clés servent à vérifier la version de sepOS au moment d’envoyer des requêtes à certains services Apple. Elles sont également utilisées pour améliorer la sécurité des données protégées par code en empêchant l’accès au matériel de chiffrement lorsque des modifications critiques sont apportées au système sans l’autorisation de l’utilisateur.
Stockage non volatil sécurisé
Le Secure Enclave est équipé d’un dispositif de stockage non volatil sécurisé dédié. Ce stockage est connecté au Secure Enclave au moyen d’un bus I2C dédié de sorte que seul le Secure Enclave peut y accéder. Toutes les clés de chiffrement des données de l’utilisateur sont associées à l’entropie qui y est stockée.
Sur les appareils équipés d’un système sur une puce A12, S4 ou de génération ultérieure, le Secure Enclave est couplé à un composant de stockage sécurisé réservé à l’entropie. Le composant de stockage sécurisé est lui-même doté d’un code immuable en mémoire morte, d’un générateur de nombres aléatoires matériel, d’une clé de chiffrement unique à l’appareil, de moteurs de chiffrement et d’un détecteur de sabotage matériel. Le Secure et le composant de stockage sécurisé communiquent au moyen d’un protocole chiffré et authentifié qui donne un accès exclusif à l’entropie.
Les appareils commercialisés pour la première fois à partir de l’automne 2020 sont équipés d’un composant de stockage sécurisé de deuxième génération. Ce nouveau composant de stockage sécurisé ajoute des référentiels sécurisés de compteur. Chaque référentiel sécurisé de compteur stocke un salage de 128 bits, un vérificateur de code de 128 bits, un compteur de 8 bits et une valeur maximale de tentative de 8 bits. Les référentiels sécurisés de compteur sont accessibles au moyen d’un protocole chiffré et authentifié.
Les référentiels sécurisés de compteur détiennent l’entropie requise pour déverrouiller les données utilisateur protégées par code. Pour accéder aux données utilisateur, le Secure Enclave jumelé doit dériver la valeur d’entropie du code à partir du code de l’utilisateur et de l’UID du Secure Enclave. Le code de l’utilisateur ne peut pas être appris au moyen des tentatives de déverrouillage provenant d’une source autre que le Secure Enclave jumelé. Si la limite de tentatives est atteinte (par exemple 10 sur iPhone), le composant de stockage sécurisé efface complètement les données protégées par code.
Pour créer un référentiel sécurisé de compteur, le Secure Enclave envoie au composant de stockage sécurisé la valeur d’entropie du code et le nombre maximal de tentatives. Le composant de stockage sécurisé génère la valeur de salage au moyen du générateur de nombres aléatoires. Il dérive ensuite une valeur de vérification du code et une valeur d’entropie du référentiel sécurisé à partir de l’entropie du code, de la clé de chiffrement unique du composant de stockage sécurisé et de la valeur de salage fournies. Le composant de stockage sécurisé initialise le référentiel sécurisé du compteur avec un compteur à zéro, le nombre maximal de tentatives, la valeur de vérification du code dérivée et la valeur de salage. Le composant de stockage sécurisé renvoie ensuite la valeur d’entropie générée du référentiel sécurisé au Secure Enclave.
Pour extraire la valeur d’entropie du référentiel sécurisé à partir d’un référentiel sécurisé de compteur, le Secure Enclave envoie l’entropie du code au composant de stockage sécurisé. Celui-ci incrémente d’abord le compteur du référentiel sécurisé. Si le compteur incrémenté dépasse la valeur maximale de tentatives, le composant de stockage sécurisé efface complètement le référentiel sécurisé de compteur. Si le nombre maximal de tentatives n’a pas été atteint, le composant de stockage sécurisé essaie de déduire la valeur de vérification du code et la valeur d’entropie du référentiel sécurisé avec le même algorithme que celui utilisé pour créer le référentiel sécurisé de compteur. Si la valeur de vérification du code déduite correspond à la valeur de vérification du code stockée, le composant de stockage sécurisé renvoie la valeur d’entropie au Secure Enclave et remet le compteur à zéro.
Les clés utilisées pour accéder aux données protégées par mot de passe sont enracinées dans l’entropie stockée dans les référentiels sécurisés de compteur. Pour en savoir plus, consultez la section Aperçu de la protection des données.
Le stockage non volatil sécurisé est utilisé pour tous les services antirejeu dans le Secure Enclave. Les services antirejeu du Secure Enclave servent à révoquer les données lorsque des événements dépassent les limites antirejeu, par exemple :
Changement de code
Activation ou désactivation de Face ID ou de Touch ID
Ajout ou suppression d’un visage Face ID ou d’une empreinte Touch ID
Réinitialisation de Face ID ou de Touch ID
Ajout ou suppression d’une carte Apple Pay
Suppression de tous les contenus et réglages
Sur les architectures qui ne disposent pas d’un composant de stockage sécurisé, c’est une mémoire EEPROM (mémoire morte programmable effaçable électriquement) qui fournit des services de stockage sécurisés pour le Secure Enclave. Tout comme les composants de stockage sécurisés, la mémoire EEPROM est attachée au Secure Enclave et est accessible uniquement à partir de celui-ci. Par contre, elle ne comporte pas de fonctionnalités de sécurité matérielle dédiée, elle ne garantit pas un accès exclusif à l’entropie (exception faite de ses caractéristiques de lien physique) et elle n’offre aucune fonctionnalité de référentiel sécurisé de compteur.
Neural Engine sécurisé
Sur les appareils équipés de Face ID (pas Touch ID), le Neural Engine sécurisé convertit les images 2D et les cartes de profondeur en une représentation mathématique du visage de l’utilisateur.
Sur les systèmes sur une puce A11 à A13, le Neural Engine sécurisé est intégré au Secure Enclave. Le Neural Engine sécurisé utilise l’accès direct à la mémoire (DMA) pour plus de performance. Une unité de gestion de la mémoire d’entrée/sortie (UGMES) sous le contrôle du noyau de sepOS limite cet accès direct aux zones autorisées de la mémoire.
À partir des systèmes sur une puce A14, M1 ou une version ultérieure, le Neural Engine sécurisé est implémenté sous la forme d’un mode sécurisé dans le Neural Engine du processeur d’application. Un contrôleur de sécurité matériel dédié bascule entre les tâches du processeur d’application et celles du Secure Enclave en réinitialisant l’état du Neural Engine à chaque transition afin de protéger les données de Face ID. Un moteur dédié procède au chiffrement de la mémoire, à l’authentification et au contrôle d’accès. Simultanément, il utilise une clé de chiffrement et un intervalle de mémoire distincts pour restreindre les opérations du Neural Engine sécurisé aux zones de mémoire autorisées.
Contrôleur de puissance et contrôleur d’horloge
Tous les composants électroniques sont conçus pour fonctionner dans une enveloppe où la tension et la fréquence sont limitées. À l’extérieur de cette enveloppe, ils peuvent dysfonctionner et favoriser le contournement des contrôles de sécurité. Pour contribuer au maintien d’une tension et d’une fréquence sécuritaires, le Secure Enclave comporte des circuits de surveillance. Ceux-ci ont une enveloppe de fonctionnement beaucoup plus grande que le reste du Secure Enclave. Si les contrôleurs détectent un point de fonctionnement illégal, les horloges du Secure Enclave s’arrêtent automatiquement et ne redémarrent pas avant la prochaine réinitialisation du système sur une puce.
Résumé des fonctionnalités du Secure Enclave
Remarque : Les produits équipés du système sur une puce A12, A13, S4 ou S5 commercialisés pour la première fois à l’automne 2020 sont dotés du composant de stockage sécurisé de deuxième génération, alors que les produits équipés de ces mêmes systèmes sur une puce commercialisés avant sont dotés d’un composant de stockage sécurisé de première génération.
Système sur une puce | Moteur de protection de la mémoire | Stockage sécurisé | Moteur AES | PKA |
---|---|---|---|---|
A8 | Chiffrement et authentification | Mémoire EEPROM | Oui | Non |
A9 | Chiffrement et authentification | Mémoire EEPROM | Protection DPA | Oui |
A10 | Chiffrement et authentification | Mémoire EEPROM | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation |
A11 | Chiffrement, authentification et prévention des rejeux | Mémoire EEPROM | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation |
A12 (appareils Apple commercialisés avant l’automne 2020) | Chiffrement, authentification et prévention des rejeux | Composant de stockage sécurisé (1re génération) | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation |
A12 (appareils Apple commercialisés après l’automne 2020) | Chiffrement, authentification et prévention des rejeux | Composant de stockage sécurisé (2e génération) | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation |
A13 (appareils Apple commercialisés avant l’automne 2020) | Chiffrement, authentification et prévention des rejeux | Composant de stockage sécurisé (1re génération) | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation et moniteur de démarrage |
A13 (appareils Apple commercialisés après l’automne 2020) | Chiffrement, authentification et prévention des rejeux | Composant de stockage sécurisé (2e génération) | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation et moniteur de démarrage |
A14 à A17 | Chiffrement, authentification et prévention des rejeux | Composant de stockage sécurisé (2e génération) | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation et moniteur de démarrage |
S3 | Chiffrement et authentification | Mémoire EEPROM | Protection DPA et bits de départ verrouillables | Oui |
S4 | Chiffrement, authentification et prévention des rejeux | Composant de stockage sécurisé (1re génération) | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation |
S5 (appareils Apple commercialisés avant l’automne 2020) | Chiffrement, authentification et prévention des rejeux | Composant de stockage sécurisé (1re génération) | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation |
S5 (appareils Apple commercialisés après l’automne 2020) | Chiffrement, authentification et prévention des rejeux | Composant de stockage sécurisé (2e génération) | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation |
S6 à S9 | Chiffrement, authentification et prévention des rejeux | Composant de stockage sécurisé (2e génération) | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation |
T2 | Chiffrement et authentification | Mémoire EEPROM | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation |
M1, M2, M3 | Chiffrement, authentification et prévention des rejeux | Composant de stockage sécurisé (2e génération) | Protection DPA et bits de départ verrouillables | Clés liées au système d’exploitation et moniteur de démarrage |