我正在开发使用 sqllite db 的应用程序。我想为数据库提供安全性。有什么方法可以为 SQLite DB 提供安全性,以便没有人可以通过黑客设备或其他方式读取它。
我们应该提供任何加密还是苹果提供自己的安全性?提供应用程序数据库安全性的方法有哪些?
谢谢
我正在开发使用 sqllite db 的应用程序。我想为数据库提供安全性。有什么方法可以为 SQLite DB 提供安全性,以便没有人可以通过黑客设备或其他方式读取它。
我们应该提供任何加密还是苹果提供自己的安全性?提供应用程序数据库安全性的方法有哪些?
谢谢
@Quentin 的评论是正确的 - 只要有人可以物理访问您的设备,破解它只是时间问题。但是,您可以使那段时间花费很长时间,以至于不值得。
如果你要加密你的数据库,解密密钥也必须存储在设备上(假设你希望它离线工作)。您可以使用钥匙串来存储此密钥 - 然后他们必须破解iPhone 的钥匙串才能访问您的数据。
另一种选择是只让您的应用程序在线工作 - 将密钥存储在您的服务器上并让用户登录并进行身份验证,然后再将密钥传递回应用程序。这需要您做更多的工作,但会确保密钥和数据存储在不同的位置。
最后(也是最安全的),您可以将所有内容存储在您的服务器上 - 这样您就可以自己控制数据和密钥,并且防盗不会产生丝毫影响。但是,如果您的数据集很大,这可能会使您的应用程序的用户界面更加复杂。而且它显然无法离线工作:)