Aller au contenu
ecdsa.com

Secure Enclave

Le coprocesseur de sécurité isolé d’Apple, intégré aux puces des iPhone, iPad, Mac et Apple Watch, qui crée des clés non exportables et signe ou déchiffre à l’intérieur de la puce, avec, en option, une autorisation par Face ID, Touch ID ou le code d’accès.
Autres graphiesApple Secure EnclaveSEPSecure Enclave Processor

Par CryptoKit (SecureEnclave.P256.Signing.PrivateKey, SecureEnclave.P256.KeyAgreement.PrivateKey) ou par le trousseau (kSecAttrTokenIDSecureEnclave), les applications obtiennent une clé qui ne quitte jamais le matériel ; elles ne stockent qu’une référence opaque, liée à l’appareil. Pour les algorithmes classiques, l’enclave ne prend en charge que NIST P-256, ce qui explique en partie pourquoi ES256 et COSE −7 dominent les clés d’accès et les identifiants liés à un appareil.

Depuis iOS 26 et macOS 26 (2025), CryptoKit propose aussi ML-KEM et ML-DSA avec prise en charge de la Secure Enclave. Des indicateurs de contrôle d’accès (.biometryCurrentSet, .userPresence) peuvent exiger une approbation biométrique ou par code d’accès à chaque utilisation de la clé.

Les signatures sortent encodées en DER, comme celles des autres magasins de clés des plateformes ; les consommateurs JWS et COSE ont besoin du format brut r‖s. Les clés disparaissent avec l’appareil, sauf si le protocole de l’application prévoit une récupération : les clés d’accès synchronisées relèvent d’une autre conception et sont conservées dans le trousseau iCloud plutôt que dans l’enclave.

Normes et références

Tous les termes