Перейти к содержимому
ecdsa.com

Secure Enclave

Изолированный сопроцессор безопасности Apple в чипах iPhone, iPad, Mac и Apple Watch: он создаёт неэкспортируемые ключи и подписывает или расшифровывает данные внутри чипа, при необходимости запрашивая Face ID, Touch ID или код-пароль.
Другие написанияApple Secure EnclaveSEPSecure Enclave Processor

Через CryptoKit (SecureEnclave.P256.Signing.PrivateKey, SecureEnclave.P256.KeyAgreement.PrivateKey) или Keychain (kSecAttrTokenIDSecureEnclave) приложения получают ключ, который никогда не покидает оборудование; сами приложения хранят лишь непрозрачный дескриптор, привязанный к устройству. Из классических алгоритмов анклав поддерживает только NIST P-256, и это одна из причин, по которым ES256 и COSE −7 преобладают в ключах доступа и учётных данных, привязанных к устройству.

Начиная с iOS 26 и macOS 26 (2025 год), CryptoKit также предлагает ML-KEM и ML-DSA с поддержкой Secure Enclave. Флаги управления доступом (.biometryCurrentSet, .userPresence) могут требовать подтверждения биометрией или код-паролем при каждом использовании ключа.

Подписи выдаются в кодировке DER, как и у других платформенных хранилищ ключей, а программам, которые принимают JWS и COSE, нужен формат raw r‖s. Ключи теряются вместе с устройством, если протокол приложения не поддерживает восстановление: синхронизируемые ключи доступа устроены иначе и хранятся в iCloud Keychain, а не в анклаве.

Стандарты и ссылки

Все термины