Защищенное содержимое в каталоге документов
Может ли кто-нибудь помочь мне обезопасить содержимое моего каталога документов?
5 ответов
Использование:
- (BOOL)writeToFile:(NSString *)path options:(NSDataWritingOptions)mask error:(NSError **)errorPtr
с одним из вариантов защиты файлов:
NSDataWritingFileProtectionComplete (iOS 4.0)
NSDataWritingFileProtectionCompleteUnlessOpen (iOS 5.0)
NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication (iOS 5.0)
Смотрите: Документация Apple
NSDataWritingFileProtectionComplete
В этом случае файл хранится в зашифрованном формате и может считываться или записываться только при разблокированном устройстве. В любое другое время попытки чтения и записи файла приводят к сбою.
Примечание. Использование собственного шифрования поднимает проблему хранения ключей, и лучшим решением для этого является использование цепочки для ключей. Обработка ключей - самая большая проблема, и методы NSData обрабатывают это.
Мы не можем защитить файл в каталоге документов. Мы можем сохранить файл во временной папке устройства. К этому никто не может получить доступ
Используйте шифрование и дешифрование для создания и чтения этих файлов на iphone. Вот идея http://iphonedevelopment.blogspot.com/2009/02/strong-encryption-for-cocoa-cocoa-touch.html
Alan Quatermain предоставляет инструментарий, в котором есть несколько полезных оболочек для библиотек криптографии, чтобы сделать шифрование / дешифрование действительно простым.
Вот ссылка:
https://github.com/AlanQuatermain/aqtoolkit
Что бы вы ни делали, просто убедитесь, что вы не храните документ на устройстве в незашифрованном виде даже в течение короткого времени. Всегда храните его в зашифрованном виде. Выполните любую операцию шифрования в памяти.
Будьте уверены, что ни для каких файловых операций вы не кешируете. Например, при любой загрузке и т. Д. Вы хотите убедиться, что данные временно не записываются на диск.
Наконец, для ваших зашифрованных документов не храните ключ на устройстве в любом формате. Не храните его и на связке ключей.
Попробуйте зашифровать контент. Взгляните на Strong Encryption для Какао / Какао Touch