Защитить содержимое в каталоге документов

Может ли кто-нибудь помочь мне обезопасить содержимое папки «Документы»?


person Jatin Patel - JP    schedule 19.09.2011    source источник


Ответы (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.

person zaph    schedule 19.09.2011
comment
Я пишу файл .jpg в каталог документов. все же я могу открыть его. используя выше ваше предложение .. можете ли вы дать мне пример кода? - person Jatin Patel - JP; 20.09.2011
comment
Как вы хотите контролировать доступ, чего вы пытаетесь достичь с помощью шифрования? Я добавил описание к ключу NSDataWritingFileProtectionComplete. - person zaph; 20.09.2011
comment
Я хочу обработать, чтобы содержимое каталога документов скрывалось или сохранялось в формате шифрования, чтобы его не читал приятель. Все это нужно делать с помощью программирования. Является ли это возможным? Спасибо - person Jatin Patel - JP; 21.09.2011
comment
Вам действительно нужно продумать и прописать, что именно вы защищаете и от какого доступа. С NSDataWritingFileProtectionComplete только ваша программа может прочитать файл. Чтобы пойти выше, потребуется ввести пароль для каждого использования, вероятно, не то, что вы хотите. Шифрование и жесткое кодирование ключа шифрования в вашей программе возможно, но снижает эффективность — что может быть нормально, вы должны решить, от каких атак вы хотите защититься. - person zaph; 21.09.2011

Мы не можем защитить файл в каталоге документов. Мы можем сохранить файл во временной папке устройства. Это не может быть доступно никому

person Roopa    schedule 13.05.2014

используйте шифрование и дешифрование для создания и чтения этих файлов на iphone, возьмите идею отсюда http://iphonedevelopment.blogspot.com/2009/02/strong-encryption-for-cocoa-cocoa-touch.html

person B25Dec    schedule 19.09.2011
comment
ресурс больше не доступен - person Alessio Crestani; 12.06.2017

Алан Куотермейн предоставляет набор инструментов, в котором есть несколько полезных оболочек для криптографических библиотек, чтобы сделать шифрование/дешифрование по-настоящему простым.

Вот ссылка:

AlanQuatermain/aqtoolkit

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

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

Наконец, для ваших зашифрованных документов не храните ключ на устройстве ни в каком формате. Не храните его и на брелке.

person Max MacLeod    schedule 19.09.2011