Защита песочницы приложения
Поэтому я работаю над тестовым приложением, которое загружает файлы локально в изолированную программную среду хранения файлов приложения. Некоторые из этих файлов могут быть конфиденциальными и должны быть защищены. Мое приложение имеет механизм входа в систему, поэтому вы не сможете получить доступ к файлам, если у вас не было входа в систему, поэтому моя главная задача - возможность прослушивать содержимое (возможно, на взломанном устройстве??).
Теперь мне стало интересно, лучший ли способ защиты этих файлов - это зашифровать каждый из них независимо? Или, может быть, есть способ зашифровать всю песочницу? Или это зашифровано по умолчанию? Кто-нибудь когда-либо делал что-то подобное раньше?
Я прошу прощения за длинную цепочку вопросов, я пытаюсь собрать как можно больше информации об этом, прежде чем принимать решение о дизайне...
Спасибо!
2 ответа
Возможно, вы захотите изучить механизмы защиты файлов в iOS 4 и более поздних версиях. Это позволяет пометить файл как "защищенный", поэтому он будет храниться в зашифрованном виде на диске в любое время и доступен только при разблокированном устройстве (с паролем).
Смотрите также этот вопрос
Вы можете зашифровать всю песочницу, используя ОС, если вы настроили iPhone 4 с ОС 4.x. Даже тогда, у iOS есть такая концепция "цепочки ключей для хранения", которая в основном представляет собой кэш паролей и может быть взломан. Насколько я знаю, Mail - единственное приложение, которое шифрует все.
Для того, чтобы зашифровать данные вашего приложения таким образом, вам просто нужно установить соответствующие NSFileProtectionKey
как указано в NSFileManager
, Но, как уже упоминалось, это не совсем безопасно.
Вы можете попробовать пользовательскую категорию в файловом менеджере, которая шифрует файлы в соответствии с вашими требованиями, чтобы у вас были зашифрованные документы. Выбор за вами.