2009-10-19 39 views
2

客户端担心数据应用程序在设备上本地使用和存储的安全性(例如,即使在越狱的iPhone上,他们也想阻止读取我们的数据文件)。所以我想知道 - 确保iPhone数据安全的可能方法是什么?我正在考虑2种存储数据的方法 - 一堆xml文件(最大大小 - 大约1MB)或sqlite数据库。我更倾向于第二个变体,但仍不确定保护iPhone上的数据的常用做法

+2

我认为越狱iPhone的安全性是一个失败的原因。通过添加“加密”和“模糊处理”,你能做的最好的事情是“让”对手的生活变得更加困难 – notnoop 2009-10-19 15:26:56

+0

你真的不会在这里提供很多信息。数据文件有多大?他们是否因用户而异?只读吗? 我怀疑你会发现答案大致相当于实施DRM。最终设备需要使用数据,这意味着设备需要有任何你需要的密钥。在一天结束的时候,你所能做的只是某种数据模糊处理,但即使有人真的关心打破数据,这也不会有效。 – 2009-10-19 15:28:27

回答

0

手机上提供的commoncrypto库支持对称加密。您可以将密钥存储在本身是非对称加密的密钥链中。解密钥匙链的关键在于硬件,因此您需要花费一些时间来检索数据。

+0

不幸的是,这可能不会提供OP正在寻找的那种保护。在越狱iPhone上,您可以针对应用运行gdb并获取钥匙串返回的密钥。 – 2009-10-19 15:25:17

+0

在jailbricked手机上,您可以通过任何机制解密时获取纯文本。然而,使用commoncrypto至少会提高设备的备份不可读性。 – 2009-10-19 15:32:18

2

任何时间代码都运行在超出您的控制范围的物理硬件上,易受攻击 - iPhone必须有能力解码数据以使其可用,并且如果iPhone具有该功能,用户。如果数据足够有价值,有人打破你的加密。

电影业在其DVD DRM上花费了数百万美元。它几周后就破解了。

3

你可能想看看这篇文章 - Protecting resources in iPhone and iPad apps。它讨论了在构建时加密应用程序资源的方案,然后可以在应用程序需要时对其解密。解密发生在内存中,因此不受保护的临时文件不会留在文件系统中。您甚至可以将加密的HTML,PDF &图像直接加载到UIWebView中。

为了透明起见:我写了那篇文章,它在我自己的网站上托管。

0

(例如,即使在越狱iPhone上,他们也想阻止读取我们的数据文件)。你可以使用localytics移动分析(开源)来查明该应用程序是否已经在Jail破iPhone中使用或不使用..他们有高级选项也..移动分析的很多available.you可以检查..