iPhone的临时文件目录有多安全?

问题描述 投票:0回答:2

在我的应用程序(swift 2.3,xcode 7+,适用于 iOS 9+)上,我写入一个文件,使用该文件,然后从使用

NSTemporaryDirectory
创建的 tmp 目录中删除该文件(在沙盒应用程序上)。虽然它是一个快速的自动化序列,但在很短的时间内,文件会被写入 tmp 目录以便使用,然后被删除。

我关心的是:在那短暂的时刻,文件存储在 tmp 目录中的安全性如何?攻击者是否可以访问位于 tmp 目录中的文件?

ios swift security temporary-files
2个回答
1
投票

如果您编写文件只是为了删除它,则应尽量避免将该文件完全存储在系统上。如果您绝对必须将数据存储在设备上,则可以使用

.completeFileProtection
选项。

根据文档

.completeFileProtection
将确保只有在设备解锁时才能访问该文件。这意味着某人访问您的数据的唯一方法是他们拥有您手机的密码,并且能够以某种方式使用所述密码远程解锁它,然后执行可以访问您应用程序的沙盒临时文件存储的代码。

据我所知,这是很难实现的。


0
投票

iOS 或 macOS 上的每个沙盒应用程序都有一个自己的临时目录,其他应用程序无法访问该目录。攻击者无法访问该文件,除非 iPhone 已越狱,而如果 iPhone 已越狱,你无论如何都会丢失,因为攻击者几乎可以直接修补你的应用程序代码或替换系统内核或做任何他喜欢做的事情(例如在调试器中运行您的应用程序,并将所有文件写入操作的内容转储到控制台)。

此外,iPhone 存储始终是加密的,因此即使有人在写入文件后切断电池电源,然后尝试直接从闪存芯片读取数据,该数据也会被加密并且完全无用。要访问闪存,您需要来自安全区域的主密钥,并且该密钥只能使用设备的解锁 PIN/密码进行访问,解锁后,还可以使用 Touch ID 或 Face ID 进行访问(启用后) ,直到设备重新启动或进入紧急模式(但仅限于设备自行锁定并要求您重新输入 PIN/密码之前的有限时间)。

© www.soinside.com 2019 - 2024. All rights reserved.