iPhone/iPad上最安全的加密持久存储方式是什么?

6

我需要在 iPhone/iPad 会话期间临时存储图像。一旦会话结束,我需要删除会话期间下载的数据。我希望在 iPhone/iPad 的持久存储上保护数据。

我已确认 iOS 具有硬件加密功能,但最近已被攻破,因此我需要一些加密技术来安全地存储数据。我的公司以前使用 PGP 进行整个磁盘加密,但我不知道是否可以使用任何 API 对文件进行编程加密/解密。

谢谢,

Jignesh


除了iOS加密之外,我还使用Rijndal加密和一个随机密钥。该密钥再次受到应用程序特定成分以及未存储在设备上的用户数据的保护。这样你就有了两倍的安全性。 - Krumelur
1
你有必要持久化下载的数据吗?只需将其保留在内存中,然后在完成后释放即可。唯一需要持久化的原因是在应用程序会话之间从本地存储重新加载。 - Jay Imerman
我最近回答了这个问题,涉及到一些相关的问题:https://dev59.com/FW7Xa4cB1Zd3GeqPqHiC#14878317 - occulus
我想在iPhone/iPad的持久存储上保护数据 -- 保护数据免受谁的侵害?是防止应用程序的实际合法用户,还是防止其他人在以后分析数据时进行侵害? - occulus
如果设备丢失,另一个人可以分析数据。 - NetDeveloper
显示剩余3条评论
2个回答

0

一个越狱的iPhone用户比你对设备有更多的控制权。(偷走设备的小偷也是一个用户 :) 没有地方可以隐藏秘密。二进制文件可以反编译,设备上的任何内存内容都可以被查看,通过网络传输到设备上的任何内容都可以被用户拦截。

也许你正在寻找“(通过)混淆来保护安全性”,但更好的方法是重新评估你的商业模式,以更好地反映技术的现实。


2
安全并不总是指“使访问数据变得不可能”。有时它涉及到检索成本和可能性与数据重要性之间的平衡。 - occulus
此外,“内存中的任何内容都可以查看”。是啊,当用户使用应用程序时,你如何分散他们对于你连接到他们的iOS设备上的电线的注意力呢? - occulus
我想说的是,虽然在设备上隐藏秘密确实很难,但有时候你并不需要这样做。例如,如果用户必须在获取(短暂的)数据之前通过外部网络服务进行身份验证,则密码存储在用户的头脑中,而不是放在设备存储器中。 - occulus

0

关于iOS唯一被“破解”的事情就是他们已经找到了如何从设备中提取用于加密设备数据的设备密钥。可用的加密API/算法仍然是安全的。只是普通数据,例如您的联系人、笔记等不再安全,除非您在将其存储到磁盘之前对数据进行加密!

因此,使用加密库将允许您使用工业级算法加密图像,只要您的图像密钥安全,您的数据就会安全。这是手机已有加密的补充。

祝好运!


“像联系人、备忘录等普通数据已经不再安全”——这是真的;值得指出的是,内置的邮件应用程序受到数据保护 API 的保护(因此,如果您为设备设置了密码,则邮件是受保护的)。 - occulus
你是什么意思,Rook?他指定了“只要你的图像密钥是安全的”。 - occulus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接