Как работает Advanced Data Protection в iCloud
Обычно все ваши данные в iCloud шифруются ключом, который хранится на серверах Apple. В декабре Apple анонсировали несколько новых фичей, связанных с безопасностью. Одна из них – Advanced Data Protection, которая хранит ключи шифрования только на устройствах. По сути, это end-to-end шифрование из коробки для всех приложений, которые используют CloudKit. Но у этого есть несколько нюансов:
*️⃣Зашифрованные поля в данных не поддеррживают индексы, поэтому из нельзя включать в предикаты.
*️⃣Если вы выставляете publicPermission для какого-то из файлов, и он становится доступен по ссылке, ключи шифрования загрузятся на сервер Apple.
*️⃣Вы не можете знать, включен ли ADP у конкретного пользователя. Правильным будет расчитывать на то, что включен, и работать с приватной информацией черещ новый API.
Документация по encryptedValues API
In December 2022, Apple announced Advanced Data Protection for iCloud that covers user data in iCloud with end-to-end encryption under certain conditions. This post examines the topic in more detail.