【问题标题】:Secure contents in Documents directory保护 Documents 目录中的内容
【发布时间】:2011-11-20 05:44:45
【问题描述】:

谁能帮我确保我的 Documents 目录的内容安全吗?

【问题讨论】:

    标签: ios cocoa-touch file-management


    【解决方案1】:

    使用加密和解密在 iphone 上制作和读取这些文件从这里获取想法http://iphonedevelopment.blogspot.com/2009/02/strong-encryption-for-cocoa-cocoa-touch.html

    【讨论】:

    • 资源不可用
    【解决方案2】:

    尝试加密内容。看看Strong Encryption for Cocoa / Cocoa Touch

    【讨论】:

    • 资源不再可用
    【解决方案3】:

    用途:

    - (BOOL)writeToFile:(NSString *)path options:(NSDataWritingOptions)mask error:(NSError **)errorPtr
    

    使用文件保护选项之一:

    NSDataWritingFileProtectionComplete (iOS 4.0)
    NSDataWritingFileProtectionCompleteUnlessOpen (iOS 5.0)
    NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication (iOS 5.0)
    

    见:Apple Documentation

    NSDataWritingFileProtectionComplete
    

    在这种情况下,文件以加密的形式存储 格式,并且只能在设备运行时读取或写入 解锁。在所有其他时间,尝试读取和写入文件 导致失败。

    注意:进行自己的加密会引发密钥存储问题,最好的答案是使用钥匙串。密钥处理是最大的问题,而 NSData 方法可以解决这个问题。

    【讨论】:

    • 我将 .jpg 文件写入文档目录。我仍然可以打开它。使用上面你的建议..你能给我一些示例代码吗?
    • 你想如何控制访问,你想通过加密来完成什么?我向 NSDataWritingFileProtectionComplete 键添加了描述。
    • 我想要处理,所以文档目录的内容将隐藏或以加密格式存储,所以没有伙伴阅读它。这一切都需要使用编程来完成。可能吗?谢谢
    • 您确实需要仔细考虑并准确写下您要保护的内容以及免受何种访问。使用NSDataWritingFileProtectionComplete,只有您的程序可以读取该文件。要超过这个要求,每次使用都需要输入密码,这可能不是您想要的。在您的程序中对加密密钥进行加密和硬编码是可能的,但会降低有效性 - 这可能没问题,您必须决定要防止哪种攻击。
    【解决方案4】:

    Alan Quatermain 提供了一个工具包,其中包含一些有用的加密库包装器,使加密/解密变得非常简单。

    这是链接:

    AlanQuatermain / aqtoolkit

    无论您做什么,只要确保您不会将文档存储在未加密的设备上,即使是很短的时间。始终将其加密存储。在内存中执行任何加密操作。

    确保对于任何文件操作,您都不会缓存。因此,例如,任何下载等您要确保没有数据临时写入磁盘。

    最后,对于您的加密文档,不要以任何格式将密钥存储在设备上。也不要将其存储在钥匙串上。

    【讨论】:

      【解决方案5】:

      我们无法保护文档目录中的文件。我们可以将文件存储在设备的临时文件夹中。任何人都无法访问此内容

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-27
        • 2011-05-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多