Android-рутированный телефон и приложения - PullRequest
1 голос
/ 27 июля 2011

Я хочу иметь большую базу данных в приложении для Android. База данных представляет собой автономный файл, который может иметь 2-3 обновления в месяц (каждые 20 МБ +, но я предполагаю, что максимальный размер должен составлять около 40 МБ).

Я продолжаю слышать, что приложения для Android рутированы, чтобы люди могли получить доступ к этим конфиденциальным данным (это будет платное приложение). Как можно зашифровать данные базы данных, чтобы не было потерь. Есть ли какая-либо альтернативная модель базы данных (кроме sqlcypher) (даже ключ / значение), которая может быть использована и является более безопасной?

Кроме того, может ли пользователь с правами root купить приложение для Android во внешнем магазине (я думаю, что из-за ограничений подписки создать внешний магазин без Android) и иметь полный доступ к его содержимому?

Я хочу сделать что-то похожее на модель iphone, где нет явного доступа к базе данных (если вы не поместите ее в Документы или не включите свое устройство для совместного использования).

Ответы [ 2 ]

1 голос
/ 27 июля 2011

«Модель iPhone» так же легко побеждена джейлбрейком.

Если база данных и код, работающий с ней, находятся на рутированном телефоне, достаточно решительный злоумышленник в итоге получит данные.Отладчик и точка останова в нужный момент - это все, что им нужно.Кроме того, Java-код, как известно, легко реконструировать.Поскольку вам необходимо отправить код дешифрования пользователю (в противном случае, как будет работать приложение?), Тот же пользователь может изолировать и использовать свой собственный код дешифрования.

1 голос
/ 27 июля 2011

Если вы используете H2, вы можете зашифровать таблицы базы данных.

Таким образом, только ваше приложение может монтировать и получать к нему доступ.

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

В целом, однако, вы должны спросить себя, действительно ли это хорошая модель.

...