Система защиты файлов на iOS работает через иерархию криптографических ключей. 1 Каждому файлу присваивается 256-битный AES-ключ, и данные записываются на диск только в зашифрованном виде. 1
Некоторые элементы системы защиты:
- Secure Enclave. 4 Это отдельный микропроцессор, физически отделённый от основной системы. 4 Он отвечает за хранение и обработку ключей шифрования, а также за операции, связанные с Face ID, Touch ID и паролем. 4
- Data Protection API. 4 Этот программный интерфейс определяет политику шифрования файлов в зависимости от состояний устройства (заблокировано, разблокировано) и других факторов. 4
- Классы защиты файлов. 1 При создании файла сторонние приложения выбирают ему класс защиты. 1 Некоторые из них:
- «Полная защита» (NSFileProtectionComplete). 1 Ключ класса зашифрован паролем и ключом устройства. 1 Через 10 секунд после блокирования устройства расшифрованный ключ класса стирается из памяти. 1
- «Защищён до первого входа» (NSFileProtectionCompleteUntilFirstUserAuthentication). 1 Работает аналогично полной защите, только расшифрованный ключ файла не удаляется из памяти при блокировании устройства. 1 Этот класс защищает данные от атак с перезагрузкой устройства. 1
- «Без защиты» (NSFileProtectionNone). 1 Ключ класса без защиты зашифрован только ключом устройства. 1 Файлы, защищённые этим классом, нельзя прочитать на другом устройстве и можно быстро сделать недоступными удалённо. 1
Защита данных включается автоматически, когда пользователь устанавливает активный код-пароль для устройства. 5 Если пароль неверный, ключ шифрования не выдаётся, и расшифровать данные невозможно. 4