原因setAttributes:ofItemAtPath:错误:应用NSFileProtectionComplete时可能会失败?

时间:2011-06-01 15:15:50

标签: objective-c cocoa-touch security nsfilemanager data-protection

我开始将iOS 4数据保护应用于我的应用使用的文件。我担心setAttributes:ofItemAtPath:error:无法应用更改的可能性:是否有一组已知的原因导致此方法失败?如果由于商业原因需要设置属性而无法设置属性,我没有良好的回退行为,所以我想知道我是否应该担心调用失败。< / p>

1 个答案:

答案 0 :(得分:2)

我从来没有听说过它会失败的情况,而且我能想到的大部分内容对于设备来说都是灾难性的(它们涉及加密硬件脱机,此时根文件系统可以不再使用)。如果转换文件的行为需要额外的磁盘空间或内存,那么我认为它可能因为缺乏这些原因而失败:但我认为这些都是由专用加密硬件在原地和带外完成的,所以我对此表示怀疑需要这些东西。

您的后备策略应取决于您的风险分析。绘制非常广泛的笔触,这更重要:您尝试存储在文件中的数据的机密性或可用性?如果它是机密性,那么如果你无法保护文件,你应该放弃尝试保存它。如果可用,您应该保存内容。你做的任何其他事情(报告或审计任何失败;转向自我提供的加密技术等)也需要适合你的威胁模型。

请记住,如果您的数据的机密性非常重要,可以对其进行加密,则应在写入之前创建受保护的文件。如果您使用纯文本文件并将其转换为受保护的文件,则攻击者仍有可能仍然检索纯文本。如果那是对你的重要攻击,你应该试着避免它。