iPhone = Как проверить, что база данных iPhone Sqlite изменена внешне - PullRequest
0 голосов
/ 07 апреля 2011

Я делаю приложение для iPhone, в котором весь мой контент хранится в базе данных sqlite.

Теперь всегда есть угроза джейлбрейка и другой спам-активности. Итак, стало известно, что Mac / Windows могут обращаться к каталогу приложений напрямую с помощью некоторых программ.

Поэтому я хочу сохранить свою базу данных в безопасности, а также если кто-либо из них модифицирует / заменит базу данных, то при запуске приложения я получу уведомление с использованием кодов, что в базу данных внесены некоторые изменения.

С iPhone, как эти вещи будут выполняться, кто-нибудь может предложить? любой учебник или код?

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

заранее спасибо.

1 Ответ

0 голосов
/ 07 апреля 2011

Вы действительно не можете знать .

Если вы хотите приложить максимум усилий, вы можете сделать что-то вроде вычисления контрольной суммы sha512 или sha256 базы данных и сохранить ее в другом файле, но для этого потребуется прочитать вся база данных при каждом запуске приложения и завершение работы, что, вероятно, не понравилось бы пользователю. Это требует времени, больше времени, чем просто позволить SQLite3 творить чудеса при чтении и записи.

И кто-то злоумышленник также может изменить сохраненную контрольную сумму. (Было бы достаточно легко выяснить, как вы это делаете, если у них есть доступ к объектному коду вашей программы, поэтому нет смысла пытаться запутать гипотетическую процедуру проверки хеша.)

Во всяком случае, это их данные, верно? :) так что, если они хотят возиться за кулисами, пусть они это сделают. Вы должны убедиться, что любые входные данные, принимаемые вами на ваших серверах, обрабатываются с тем же недоверием, которое вы использовали бы при приеме входных данных из веб-браузера.

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