Защита данных для конкретных приложений на iOS

Я видел некоторые документы и видеоролики из WWDC о защите данных в iOS5, и это кажется очень приятным, поскольку он может зашифровать все ваши данные приложения и защитить его при условии, что ваше устройство заблокировано. Однако я вижу две основные проблемы с этим общесистемным механизмом защиты данных:

1- Если кому-то удастся украсть мой iPhone, пока он не заблокирован (что обычно происходит в случае с «кражей и запуском»), он может подключить мой iPhone к ноутбуку и получить доступ к моим незашифрованным данным

2- он заставляет меня определять общесистемный код доступа, который кажется естественным для некоторых пользователей, но все еще громоздкий для многих пользователей. И кажется оскорбительным, что я заставляю своих пользователей определять код доступа на системном уровне, даже несмотря на то, что мое приложение является единственным, где его действительно может потребоваться шифрование. И это еще более оскорбительно, поскольку четырехзначный пароль не является такой хорошей защитой от нападений грубой силы.

Поэтому мой вопрос заключается в следующем. Есть ли простой способ зашифровать мои данные с помощью кода доступа, специфичного для моего приложения, так что каждый раз, когда пользователь запускает приложение, они должны вводить пароль, но им не нужно определять его на системном уровне? Если нет, могу ли я хотя бы подключиться к стандартным API защиты данных с таким кодом доступа, специфичным для приложения? Если нет, стоит ли написать собственный уровень шифрования поверх основных данных, чтобы включить такой сценарий? Или это может быть добавлено к будущим версиям iOS (в этом случае я, вероятно, буду придерживаться общесистемных паролей и теперь обновляю их позже)?

2 Solutions collect form web for “Защита данных для конкретных приложений на iOS”

Несколько api для защиты данных в других операционных системах (например, DPAPI на окнах) позволяют разработчикам предоставлять дополнительную энтропию для процесса деривации ключей, используемого для защиты данных. В этих системах вы можете легко получить эти данные из числа контактов. Без этого вывода вы не сможете сгенерировать ключ и прочитать данные.

Я смотрел и не мог найти ничего подобного на iOS, но я не являюсь объективным программистом c так откровенно, что чтение документации для Apple является для меня болью, и я не выглядел слишком тяжело.

В зависимости от вашего варианта использования вы можете включить защиту данных в своем приложении, но если пользователь не использует код доступа, он не даст вам большой защиты. Я не знаю, будет ли включение этого права принудительным кодом доступа.

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

https://developer.apple.com/reference/security

  • Запись аудио на диск из модуля ввода-вывода
  • Наилучший диапазон значений фильтра в CIfilter
  • Установка параллельной работы для NSOperationQueue вызывает только то количество операций
  • Приложение не имеет действительной подписи?
  • Ссылка iOS - ссылка указателя?
  • Core Text вычисляет буквенный фрейм в iOS
  • Где можно получить предыдущие версии образа диска iOS?
  • Как изменить цвет панели управления навигационного контроллера в iOS?
  • PayPal Mobile Express - «Оплата невозможна с помощью мобильного устройства»
  • GCM, Android, iOS, используя тот же идентификатор отправителя и ключ ключа / ключа сервера
  • Автоматический отбор ячейки представления таблицы после появления подробного представления?
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.