Я занят написанием коммерческого электронного приложения типа словаря слов для iPhone и iPad iOS7. Ценность приложения действительно заключается в базе данных, над которой я работал много лет, а не в самом приложении. База данных очень большая (195 МБ на компьютере с Windows до преобразования во что-то вроде SQLLite), и я хотел бы знать, как лучше всего защитить данные в ней, чтобы приложение могло их читать, но другие люди не могут читать/получать Это. Кажется, что большинство мобильных разработчиков используют SQLLite, но данные можно легко прочитать с помощью обычного шестнадцатеричного редактора.
Из этого и других форумов я понял, что SQLCipher — хороший инструмент. Моя проблема в том, что КАЖЕТСЯ, что SQLCipher шифрует базу данных, а затем расшифровывает ее, когда ее нужно прочитать во временном файле, а затем снова шифрует ее. Если это так, то у меня две проблемы.
- База данных очень большая, и ее расшифровка каждый раз и повторное шифрование сделают приложение очень медленным.
- Что мешает хакеру прочитать/скопировать расшифрованный (временный) файл, когда он доступен даже в течение короткого времени?
Правильно ли я понимаю, что SQLCipher работает правильно, если да, то есть ли какие-либо другие инструменты/методы для шифрования/защиты базы данных, чтобы программа по-прежнему могла читать ее с помощью SQL-запросов, не делая данные так легко доступными каким-либо образом, или какие-либо другие предложения, которые вы должно быть?
Спасибо