Есть ли способ защитить данные внутри SD-карты? - PullRequest
2 голосов
/ 14 сентября 2011

Как мы все знаем, внутреннее хранилище не подходит для хранения больших данных в Android по многим причинам, поэтому мы должны полагаться на SD-карту.Мое приложение должно хранить множество небольших видео и изображений в папке кэша, поэтому я использую стандартную директорию "/ sdcard / Android / cache".

Проблема в том, что внутреннее хранилище не так простовместо этого, чтение SDcard легко читается и монтируется в другом месте.

Моя идея - переопределить классы потоков входного и выходного файлов, чтобы ввести оператор xor или какой-либо другой простой код "шифрования".Это было бы хорошей идеей?Есть ли лучшее решение, которое не добавляет много накладных расходов?

Ответы [ 4 ]

3 голосов
/ 14 сентября 2011

Вы всегда можете попробовать зашифровать данные. Здесь есть хороший ответ, который вы можете посмотреть:

Существует ли способ безопасного хранения пользовательских данных на устройстве Android?

2 голосов
/ 14 сентября 2011

Если у вас много изображений, у вас должен быть бэкэнд БД, вам просто нужно создать ключ (не знаю) 32 символа для каждого изображения, а затем, когда вы записываете файлы в кэш, разделить этот ключ на 4 6/8 и запишите 4/6/8 файлов вместо одного.

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

Никаких накладных расходов.

0 голосов
/ 17 сентября 2011

Я рекомендую вам зашифровать данные и хранить ключ в частном хранилище.

Не используйте xor или какую-либо аналогичную полуобработанную вещь.Это будет тривиально расшифровываться.

0 голосов
/ 14 сентября 2011

Поскольку файловая система более чем вероятна, то fat или fat32 защищают ее, основываясь на разрешениях, было бы более замысловато.

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

Если вы можете изменить или преобразовать файловую систему, вы можете открыть некоторые опции.Вы можете использовать EFS от MS.Но это работает, если вы конвертируете объем в ntfs.Я уверен, что Android не может прочитать эту файловую систему.Особенно с EFS.

...