我知道在Mac OS上,我们可以使用Macfuse在用户空间中编写文件系统,我们可以创建一个盒子加密。 我不知道IOS上有一个框架,像FUSE,Macfuse这样的库,我可以编写我的文件系统加密/解密文件(可能挂载在目录/文件夹中)。 有谁能指出我的解决方案?
答案 0 :(得分:10)
对于内置的iOS支持,有许多选项,从每个文件到加密应用程序的整个沙箱都有所不同。我建议你阅读iOS App编程指南中的Protecting Data Using On-Disk Encryption。
但是,所有这些选项都要求用户在设备上设置密码。较旧的设备可能不支持文件系统加密。
本文档中未提及的其中一个选项是将DataProtectionClass
权利值设置为NSFileProtectionComplete
。这将自动保护应用程序沙箱中的所有文件。
最后,我建议您观看WWDC 2011视频Securing iOS Applications(Apple视频页面上的“保护应用程序数据”),并直接听取Apple工程师的最佳实践。该视频涵盖了Apple提供的几乎所有内容。
编辑:
据开发论坛上的人士称,DataProtectionClass授权可能无法在当前iOS版本中正常运行。
答案 1 :(得分:6)
您可以在文件上设置NSFileProtection
属性,以使用从用户密码派生的密钥对其进行加密。