Безопасность базы данных Sqlite - PullRequest
21 голосов
/ 29 июня 2010

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

Есть ли способ повысить безопасность базы данных и таблиц SQLite?

Ответы [ 6 ]

15 голосов
/ 29 июня 2010

Зашифруйте ваши данные, прежде чем вводить их в базу данных. Насколько я знаю, база данных SQLite хранится в одном файле где-то в каталоге / data /. Более того, ваши данные хранятся в текстовом формате. Это означает, что кто-то всегда сможет извлечь эти данные, рутовав телефон, получив файл .db SQLite и открыв его в текстовом редакторе.

Итак, зашифруйте ваши данные:)

- Хорошо, возможно, не текстовый редактор, а простой шестнадцатеричный редактор. В любом случае ...

12 голосов
/ 22 мая 2012

Проверьте SQLCipher для Android . Это бесплатно (лицензии Apache 2 и BSD).

PS .: Некоторые ORM теперь также поддерживают SQLCipher, например наш greenDAO .

6 голосов
/ 29 июня 2010

Автор sqlite предлагает версию, которая шифрует данные.Это не бесплатно, хотя

5 голосов
/ 29 июня 2010

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

1 голос
/ 29 июня 2010

почему вы храните конфиденциальные данные на телефоне?Если он чувствителен, почему бы не отправить его обратно на сервер, где у вас есть контроль над вещами.Если пользователь рутует свой телефон, он может делать то, что хочет.Кроме этого, шифрование, как упомянуто Shade, вероятно, будет вашим единственным вариантом ...

0 голосов
/ 14 декабря 2012

Хороший способ защитить базу данных - использовать защищенную паролем базу данных, и вы можете создать ее, используя

1 - библиотеку-оболочку Android Sql3

2- libsqlite3_jni.so

также, пожалуйста, прочитайте статью ниже, сделайте поиск по вышеуказанному варианту, я надеюсь, это очень поможет.

http://www.findbestopensource.com/product/sqlite3-android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...