在IOS上保护sqlite文件

Joh*_*ann 1 database sqlite iphone ios

我有一些数据,我花了几个月收集,清理和构建.我正在构建的应用程序将能够搜索数据.到目前为止,我将sqlite文件存储在用户文件系统中,而不是存储在远程服务器上,因为我希望搜索结果能够立即为用户提供尽可能最佳的体验,而与其连接速度无关.

但我刚刚发现任何拥有越狱手机的人都可以在我的sqlite文件中"窃取"信息存储.

我想要的最后一件事是让某人得到我辛勤工作的结果并将其发布在一个可能使该应用无用的网站上.

有没有办法阻止这种情况发生?

谢谢你的帮助!

Jon*_*pan 6

你想要的是一种DRM形式.最终,DRM无法阻止专用攻击者获取底层数据.理论上,用户可以访问的任何内容都可以被恶意应用程序访问.

您可以加密数据库的行并在应用程序的某处隐藏密钥,但是一个勇敢的黑客会找到它.您可以在第一次运行时下载整个文件,并使用该设备独有的密钥对其进行加密,但是您必须将密钥存储在某处或者具有重新生成它的算法 - 并且黑客可以获取任何一个(即使它在密钥链.)如果您需要网络连接并使用从服务器端和客户端生成的密钥......好吧,攻击者可以欺骗请求并获取服务器端组件.

所以这真的取决于你想要的安全.如果你只想让诚实的人保持诚实,那么简单的加密通常就足够了.如果你想制作一个防弹DRM系统......你将是第一个完成它的人.