
Обзор защиты данных
Apple использует специальную технологию, называемую защитой данных, чтобы защитить данные во флеш-памяти на устройствах с системой на кристалле Apple, таких как iPad, iPhone, Mac с чипом Apple, Apple TV, Apple Vision Pro и Apple Watch. Благодаря защите данных устройство может реагировать на типичные события, такие как входящие телефонные вызовы, вместе с тем обеспечивая более высокий уровень шифрования данных пользователей. Некоторые системные приложения, такие как Календарь, Контакты, Почта, Сообщения и Фото, а также медданные, используют технологию защиты данных по умолчанию, а приложения сторонних разработчиков получают ее автоматически.
Реализация
Технология защиты данных реализована путем построения и контроля иерархии ключей, и она основана на технологиях аппаратного шифрования, встроенных в устройства Apple. Защита данных организована на уровне файлов: каждому файлу назначается один из классов защиты, а доступность определяется разблокированием ключей класса. Файловая система Apple (APFS) позволяет дополнительно разделять ключи по диапазонам (различные фрагменты файла могут иметь разные ключи).
Каждый раз, когда в томе данных создается файл, защита данных создает новый 256-битный ключ (ключ файла) и передает его аппаратному AES-модулю, который использует этот ключ для шифрования файла при записи во флеш-память.
На устройствах с чипами A14—A18, а также M1 и новее для шифрования используется AES‑256 в режиме XTS: 256‑битный ключ каждого файла проходит через функцию формирования ключа (специальное издание NIST 800‑108) для получения 256‑битного значения и 256‑битного ключа шифрования.
На устройствах с чипами A9—A13, а также S5 и новее для шифрования используется AES‑128 в режиме XTS, в котором 256‑битный ключ файла разделяется для получения 128‑битного значения и 128‑битного ключа шифрования.
На компьютере Mac с чипом Apple для технологии защиты данных по умолчанию установлен класс C (см. раздел Классы защиты данных), однако при этом используется ключ тома, а не ключ диапазона или ключ файла. Фактически это эффективно воспроизводит модель безопасности FileVault для защиты пользовательских данных. Однако, чтобы привязать иерархию ключей шифрования к паролю и получить полную защиту, пользователи все равно должны включить FileVault. Разработчики могут выбрать более высокий класс защиты, в котором используется ключ файла или ключ диапазона.