
Аттестация управляемых устройств Apple
Аттестация управляемых устройств доступна в iOS 16, iPadOS 16, macOS 14, tvOS 16, visionOS 1.1, watchOS 9, а также в более новых версиях. Задействуя Secure Enclave, этот процесс предоставляет криптографические гарантии подлинности и безопасности устройства. Он поддерживается для iPad, iPhone и Apple TV с чипом A11 Bionic или новее, а также для компьютеров Mac с чипом Apple. Аттестация управляемых устройств помогает обеспечить защиту от следующих типов угроз:
взломанное устройство сообщает неверную информацию о своих свойствах;
взломанное устройство предоставляет устаревшую аттестацию;
взломанное устройство отправляет идентификаторы другого устройства;
злоумышленник извлекает личный ключ для использования на своем устройстве;
злоумышленник взламывает процедуру запроса сертификата, чтобы центр сертификации выдал ему сертификат.
Аттестация управляемого устройства происходит следующим образом: устройство отправляет запрос аттестации на серверы аттестации Apple, а они возвращают массив данных, состоящий из некорневого и промежуточного сертификатов с корнем в центре корневых сертификатов корпоративной аттестации Apple. В зависимости от типа устройства некорневой сертификат может содержать сведения о конкретных свойствах, как показано в таблице далее.
OID и значение | Минимальные поддерживаемые версии операционных систем | Описание | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
1.2.840.113635.100.8.9.1 Серийный номер | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Серийный номер устройства; может использоваться для его идентификации. Чтобы защитить конфиденциальность пользователя, это значение не отправляется при аттестации управляемого устройства с зарегистрированным пользователем. | |||||||||
1.2.840.113635.100.8.9.2 UDID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Уникальный аппаратный идентификатор; может использоваться для идентификации устройства. На Mac идентификатор UDID соответствует UDID предоставления устройства. Чтобы защитить конфиденциальность пользователя, это значение не отправляется при аттестации управляемого устройства с зарегистрированным пользователем. | |||||||||
1.2.840.113635.100.8.10.2 Версия sepOS | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Версия прошивки Secure Enclave. | |||||||||
1.2.840.113635.100.8.11.1 Код свежести | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Уникальный непредсказуемый код, идентифицирующий конкретную аттестацию. Он означает, что аттестация была сгенерирована после создания кода. | |||||||||
1.2.840.113635.100.8.13.1 Статус SIP | macOS 14 | Статус включения SIP на компьютере Mac с чипом Apple. | |||||||||
1.2.840.113635.100.8.13.2 Статус безопасной загрузки | macOS 14 | Выбранная конфигурация безопасной загрузки на компьютере Mac с чипом Apple. | |||||||||
1.2.840.113635.100.8.13.3 Разрешенные сторонние расширения ядра | macOS 14 | Разрешены ли сторонние расширения ядра на компьютере Mac с чипом Apple. | |||||||||
1.2.840.113635.100.8.10.3 Версия LLB | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Версия низкоуровневого загрузчика. | |||||||||
1.2.840.113635.100.8.10.1 Версия операционной системы | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Версия операционной системы и iBoot. | |||||||||
1.2.840.113635.100.8.9.4 ID устройства, обновляющего ПО | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Подтверждает | |||||||||
Запрос аттестации инициируется либо по запросу DeviceInformation, который отправляет сервис управления устройствами, либо при установке конфигурации ACME. В обоих случаях устройство получает код свежести от сервиса управления устройствами или системы ACME. При использовании аттестации DeviceInformation кодом свежести является значение DeviceAttestationNonce, указанное в запросе. При использовании аттестации ACME кодом свежести является хеш SHA‑256 токена, полученного от запроса device-attest-01. Полученное значение включается как свойство в некорневой сертификат. Оно позволяет сервису управления устройствами или системе ACME подтвердить, что аттестация соответствует запросу.
После получения аттестации серверная служба должна выполнить все необходимые проверки. В частности, необходимо подтвердить, что некорневой сертификат выдан центром корневых сертификатов корпоративной аттестации Apple; сравнить хеш кода свежести с его ожидаемым значением; и проверить другие свойства аттестации.
Аттестация управляемых устройств может стать важным элементом современной безопасной инфраструктуры. Организации могут использовать ее различными способами в зависимости от принятой модели развертывания.
Использовать сертификат, выданный ACME, для аутентификации соединения между клиентом и сервисом управления устройствами, а аттестацию
DeviceInformation— для регулярной проверки свойств устройства.Подтверждать подлинность и безопасность устройства и поручить системе ACME проводить оценку доверия перед выдачей сертификата. Это помогает гарантировать, что только устройства, отвечающие необходимым стандартам, получают сертификат.
Встроить данные о свойствах устройства, полученные при аттестации, в сертификат ACME и поручить оценку доверия проверяющим сторонам.
Ключи с аппаратной привязкой
В процессе выдачи сертификата по протоколу ACME у устройства может быть запрошена аттестация. При этом пара связанных ключей также сохраняется в Secure Enclave, чтобы устройство могло использовать преимущества его надежной аппаратной защиты и предотвратить экспорт личного ключа.
Для создания ключа с аппаратной привязкой в конфигурации ACME должен использоваться алгоритм ECSECPrimeRandom с размером ключа 256 бит или 384 бита. В этом алгоритме определяется пара ключей на основе кривых P‑256 или P‑384 по стандарту NIST SP 800‑186.
Чтобы сгенерировать личный ключ, Secure Enclave сначала создает обернутый криптографический ключ, используя следующие данные:
комбинацию из своего встроенного генератора истинных случайных чисел (TRNG);
значение энтропии, сохраненное в защищенном энергонезависимом хранилище внутри Secure Enclave;
ключ защиты данных.
Операционная система хранит обернутый криптографический ключ, однако сам по себе он бесполезен. Чтобы создать личный ключ, хранилище Secure Enclave должно использовать тот же криптографический ключ, то же сохраненное значение энтропии и тот же ключ защиты данных. Поскольку сохраненное значение энтропии и ключ защиты данных уникальны для каждого хранилища Secure Enclave, только это хранилище может сгенерировать личный ключ, который, таким образом, аппаратно привязан к этому хранилищу Secure Enclave.
При стирании устройства Secure Enclave стирает сохраненное значение энтропии. Поэтому ключ с аппаратной привязкой не может быть сгенерирован заново после резервного копирования и восстановления — даже на том же самом устройстве.
Любые конфигурации, содержащие полезную нагрузку ACME с ключом с аппаратной привязкой, удаляются при восстановлении. Если ключ с аппаратной привязкой используется как идентификатор клиента в сервисе управления устройствами, регистрация устройства отменяется. В этом сценарии, если устройство было зарегистрировано автоматически, оно снова загружает профиль регистрации и регистрируется заново.