2013-02-28 2 views
8

Для моего приложения iOS 6 + -only, я хотел бы включить шифрование на диске, предлагаемое iOS.Включить iOS On-Disk Encryption

Я прочитал this guide, и я увидел видео «Защита данных пользователя» WWDC 2012 (сеанс 714). Однако я не мог заставить его работать.

Вот шаги я последовал:

1- В iOS Dev Center, я создал новый идентификатор приложения с:

Enable for Data Protection

2- В Xcode, я добавил Файл прав с ключом:

Xcode Entitlements

3- На устройстве я активировал блокировку паролей.

Если я не ошибаюсь, все должно быть. Теперь я ожидаю, что, хотя устройство (в моем случае: iPhone 5) заблокировано, защищенные файлы недоступны. Но ... если я использую iExplorer, я могу легко получить доступ к файлам, созданным моим приложением, даже если устройство заблокировано. Но это точно, чего я хочу избежать. Я что-то забыл?

ответ

4

Причина, по которой вы можете получить доступ к файлам без разблокировки устройства, заключается в том, что был создан ключ-ключ условного депонирования. Это объясняется в Apple's :

Сделка с Escrow используется для синхронизации iTunes и управления мобильными устройствами (MDM). Этот keybag позволяет iTunes выполнять резервное копирование и синхронизацию, не требуя от пользователя вводить пароль, и позволяет серверу MDM удаленно очищать пароль пользователя. Он хранится на компьютере, который используется для синхронизации с iTunes, или на сервере MDM, который управляет устройством.

Клавиатура Escrow улучшает работу пользователя во время синхронизации устройства, что потенциально требует доступа ко всем классам данных. Когда устройство с блокировкой паролей сначала подключается к iTunes, пользователю предлагается ввести пароль. Затем устройство создает сумку с Escrow и передает ее на хост. Клавиатура Escrow содержит точно такие же ключи класса, используемые на устройстве, защищенные только что сгенерированным ключом. Этот ключ необходим для разблокировки сейфа Escrow и хранится на устройстве в классе Protected Until First User Authentication. Вот почему код устройства должен быть введен перед резервным копированием в iTunes в первый раз после перезагрузки.

Если вы перезагрузите свой телефон, вы не сможете получить доступ к файлам, не разблокируя их один раз.

+1

Похоже, что приведенная выше ссылка сломана. Обновленная ссылка: https://www.apple.com/business/docs/iOS_Security_Guide.pdf –

0

Если вы хотите, чтобы файлы были доступны только , когда устройство разблокировано (+ около 10 секунд льготного периода), установите защиту файлов на NSFileProtectionComplete. Обязательно используйте методы делегатов, чтобы узнать, когда данные станут доступными [un].