iOS中的SQLite安全

我正在开发使用sqllite db的应用程序。 我想为DB提供安全性。 有什么办法来提供安全的SQLite数据库,以便没有人可以通过黑客设备或其他东西读取它。

我们应该提供任何encryption或苹果提供自己的安全? 哪些是提供应用程序数据库安全的方法?

谢谢

@昆汀的评论是正确的 – 只要有人对你的设备有身体接触,这只是一个时间问题,直到它被破解。 但是,你可以花费那么长的时间,这是不值得的。

如果要encryption数据库,解密密钥也必须存储在设备上(假设您希望脱机工作)。 你可以使用钥匙串存储这个密钥 – 然后他们必须破解iPhone的钥匙串才能访问你的数据。

另一种select是只让你的应用程序在线工作 – 将密钥存储在你的服务器上,并让用户login并进行身份validation,然后再将密钥传回给应用程序。 从你那里得到更多的工作,但将确保密钥和数据存储在不同的位置。

最后(也是最安全的),您可以将所有内容存储在您的服务器上 – 这样您就可以自己控制数据和密钥,而且盗窃并不会带来丝毫差异。 然而,如果你的数据集很大,这可能会使你的应用程序的UI更复杂。 它不会脱机工作,显然:)