
Технология защиты запечатыванием ключей (SKP)
На устройствах Apple, которые поддерживают защиту данных, ключ шифрования ключей (KEK) защищен (или запечатан) измерениями программного обеспечения в системе, а также привязкой к UID, который доступен только из Secure Enclave. На Mac с чипом Apple для дополнительной защиты KEK используется информация о политике безопасности системы, так как macOS поддерживает критически важные изменения политики безопасности (например, выключение безопасной загрузки или SIP), которые не поддерживаются на других платформах. На компьютере Mac с чипом Apple эта защита распространяется на ключи FileVault, поскольку система FileVault реализована с использованием технологии защиты данных (класс C).
Ключ, полученный в результате связывания пароля пользователя, долгосрочного ключа SKP и аппаратного ключа 1 (UID из Secure Enclave), называется ключом на основе пароля. Этот ключ используется для защиты пользовательского хранилища ключей (на всех поддерживаемых платформах) и ключа KEK (только в macOS), а затем включает биометрическую или автоматическую разблокировку с помощью других устройств, таких как часы Apple Watch.

Монитор загрузки Secure Enclave фиксирует измерение загружаемой операционной системы Secure Enclave. Загрузочное ПЗУ процессора приложений измеряет манифест Image4, добавленный в LLB. В этом манифесте также содержатся измерения всех других загруженных парных системных прошивок. В политике LocalPolicy содержатся основные конфигурации безопасности для macOS, которые загружены. Кроме того, в ней содержится поле nsih, в котором указан хеш манифеста Image4 macOS. Манифест Image4 в macOS содержит измерения всех парных прошивок macOS и основных объектов загрузки macOS, таких как загрузочная коллекция ядра или корневой хеш подписанного системного тома (SSV).
Если злоумышленнику удастся неожиданно изменить любой из измеренных компонентов прошивки, программного обеспечения или конфигурации безопасности, это приведет к модификации измерений, хранящихся в реестрах оборудования. В результате изменения измерений корневой ключ измерения системы (SMDK), сгенерированный криптографическим оборудованием, будет иметь другое значение, что сломает печать, наложенную на иерархию ключей. Это сделает невозможным доступ к ключу измерения системы устройства (SMDK), что, в свою очередь, сделает невозможным доступ к ключу KEK и к данным.
Однако, когда система не подвергается атаке, в ней должны быть установлены подлинные обновления программного обеспечения, которые вносят соответствующие изменения в измерения прошивки и в поле nsih политики LocalPolicy с учетом новых измерений macOS. В других системах, где предпринимается попытка внедрить измерения прошивки, но отсутствует проверенный источник доверия, пользователю нужно выключить защиту, обновить прошивку, а затем заново включить защиту, чтобы можно было выполнить новое базовое измерение. Это значительно повышает риск стороннего вмешательства в прошивку во время обновления программного обеспечения. Дополнительная защита системы обеспечивается в результате того, что в манифесте Image4 содержатся все необходимые измерения. Оборудование, которое расшифровывает SMDK с помощью SMRK, когда во время обычной загрузки измерения совпадают, также может зашифровать SMDK для предполагаемого будущего SMRK. Путем указания измерений, которые ожидаются после обновления программного обеспечения, оборудование может зашифровать SMDK, доступ к которому имеется в текущей операционной системе, чтобы доступ сохранился в будущей операционной системе. Аналогично, когда клиент законным образом вносит изменения в настройки безопасности в политике LocalPolicy, SMDK должен быть зашифрован для будущего SMRK на основе измерения для LocalPolicy, которое низкоуровневый загрузчик вычисляет при следующей перезагрузке.