首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在iOS中加密数据

在iOS中加密数据
EN

Stack Overflow用户
提问于 2014-10-09 08:00:33
回答 3查看 3.6K关注 0票数 1

我是iOS开发的新手,我正在开发一个小型的iOS移动应用程序来存储用户的敏感信息。最初,我想使用自定义的AES加密来加密/解密所有数据。我还希望加密的数据与iCloud同步。在阅读了更多之后,我从iPhone 3GS了解到每个设备都有一个内置的AES-256密码引擎。在XCode上,我观察到我可以为移动应用程序打开一个名为“数据保护”的选项来保护数据。根据我的分析,我有以下问题:

  1. 要为iPhone 3GS (使用iOS 6.1)使用数据保护,需要设置密码吗?
  2. 在不设置设备密码的情况下,如何使用内置密码引擎对数据进行加密?
  3. 这些信息非常敏感,所以在这种情况下,我需要实现自定义加密吗?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-09 08:23:03

这实际上取决于您要防范的场景有多少种。只要有足够的时间和精力,你可能创建的任何场景都会被打破。然而,为了解决以下几个问题:

1)是的,您需要设置一个密码才能激活此功能。

2)您可以使用CommonCrypto库(或者像RNCryptor这样的包装器)

3)这是一个糟糕的想法,原因很简单:开发一个安全的算法是非常困难的。最微小的缺陷会泄露所有的数据,人们花费了多年的时间去发现这些缺陷(尽管我可能误解了你所说的“自定义加密”)。

如果您希望尽可能安全,您必须这样做:将您的文件发送到服务器进行处理(通过HTTPS)。侵入服务器要比入侵iOS应用程序要难得多。如果您只使用RNCryptor,那么撕毁应用程序寻找密码或如何获得密码是非常简单的。基本上,如果应用程序能做到这一点,那么BlackHat也能做到。

编辑我忘了一件事!如果您为每个安装生成一个随机密码并将其存储在密钥链中,那么这将有所帮助,但这并不是万无一失的( iOS密钥链内容可以从已越狱的设备中检索到,特别是当用户有一周密码时)。然而,这将使用户的数据无法恢复,如果他们擦除操作系统的任何原因。

票数 2
EN

Stack Overflow用户

发布于 2014-10-09 08:18:25

RNCryptor非常有用,但它基本上只是苹果自己的CommonCrypto功能的包装器(这使得实现它相当容易)。如果您想加密设备上甚至用户都无法获得的数据,这是非常有用的。

关于你的具体问题:

  1. 数据保护使用苹果的设备级加密对应用程序数据进行加密(您自己不使用密码保护)。这有其用途--如果第三方无法解锁,它将阻止第三方访问设备上的数据--但并不阻止(例如)用户访问未锁定设备上的数据。使用它所建立的RNCryptor和CommonCrypto,您可以使用您选择的密码对内容进行AES256加密。
  2. 苹果公司在这里详细介绍了这一点。基本上,从最终用户的角度来看,他们只是为他们的设备设置了一个密码。您不使用自己选择的密码。 您可以使用以下说明为您的应用程序设置该程序: ref/doc/uid/TP40012582-CH26-SW30
  3. 这取决于数据有多敏感,以及您预见到了什么威胁(您想让它远离谁?你是否打算遵守任何法律/法规?您希望自己承担多少工作来保护这些数据?)在某些情况下,有很多的权衡和警告可以适用。 如果您有少量的数据,您可能会考虑将其存储在iOS密钥链中。否则,我建议给RNCryptor一个尝试。集成起来相当容易。

我希望这能帮到你。

更新:另一件需要考虑的事情..。如果您实现自己的加密,即使使用RNCryptor/CommonCrypto,也可能会产生导出控制分支。这可能会影响你的决定,这取决于你愿意处理多少文件和/或延迟。您可以在苹果的网站上了解更多信息,以下是:

https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/wo/20.0.0.13.7.2.7.9.3.1.2.3.3.1.5.7.1

票数 5
EN

Stack Overflow用户

发布于 2014-10-09 08:06:35

非常简单:https://github.com/RNCryptor/RNCryptor,我用它做了一个聊天应用,它太好了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26273232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档