Проблемы с безопасностью базы данных Android Assets?

Я смотрю на это, на которой объясняется, как использовать базу данных в локальном проекте Android (в активах) для заполнения стандартной базы данных приложения (управляемой Android, в data/...), например это. Таким образом, все данные в базе данных активов свободно читаются в apk, верно?

Это не лучший способ хранения данных, если в базе данных есть личная информация или сертификаты. Как лучше всего хранить большие информационные данные в базе данных активов и личные данные в res/xml или res/values? Есть ли рекомендуемый способ хранения персональных данных?


person andrea    schedule 22.10.2012    source источник


Ответы (2)


APK-файлы в Android по умолчанию общедоступны для чтения, поэтому хранить в них конфиденциальные данные — не лучшая идея. В JellyBean и более поздних версиях приложение может быть заблокировано (так называемое «шифрование приложения»), что гарантирует, что ваши личные активы не смогут быть прочитаны другими приложениями. Это делается автоматически для платных приложений.

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

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

person Nikolay Elenkov    schedule 23.10.2012

Как назло, я читал об этом сегодня. В руководстве Android Dev предлагается использовать внутреннее хранилище для личных данных, поскольку оно недоступно другим приложениям или пользователю. См. http://developer.android.com/guide/topics/data/data-storage.html#filesInternal Надеюсь, это поможет.

person Broo    schedule 22.10.2012
comment
этот способ используется многими приложениями, но я думаю, что не для разумных данных. С правами root я думаю, что с помощью проводника вы можете прочитать все частные базы данных приложения. - person andrea; 24.10.2012
comment
Хорошо, спасибо, Андреа, приятно знать :-) Удачи с твоим вопросом. - person Broo; 25.10.2012