我是否需要做任何额外的工作来保护我的iOS应用程序中的sqlite数据库?

时间:2012-03-30 06:03:36

标签: ios sqlite

我正在使用核心数据在sqlite数据库中存储数据。我是否需要采取任何额外措施来保护它们?。

而且,我在appstore中找到了一些sqlite浏览器应用程序。我怀疑的是,这些应用程序是否能够访问我的应用程序中使用的sqlite db,或者这些应用程序如何对开发人员起作用/有用。

提前致谢。

1 个答案:

答案 0 :(得分:2)

这取决于您希望保护数据库的程度。如果您不考虑越狱设备,只需将您的数据库存储在应用程序的私人文件夹中,其他任何人都无法访问。

越狱设备的用户可以读取整个文件系统,包括你的sqlite db。如果您还要考虑这种风险,可以像@Invincible建议的那样加密数据库。这里的问题是你仍然需要在你的应用程序中的某个地方存储你的密码,通过一些努力可以对其进行逆向工程和提取。您可以而且应该使用一些混淆方法来存储您的密码,但这也不会给您100%的安全性。

“开放式”(越狱)平台的安全问题是,您无法访问攻击者无法访问的任何信息。但是,通过应用不同的混淆和加密技术,您可以使攻击者的情况更加困难。你应该投入多少努力?您应该考虑以下因素:

  • 丢失敏感数据的风险< =>攻击者的利益
  • 您准备投入的努力< =>攻击者将投入多少精力