【发布时间】:2011-09-17 15:14:57
【问题描述】:
我正在为 iOS 编写一个应用程序,我得到的一个要求是从文件系统中安全地删除文件,这些文件可能从其他应用程序提供给我的应用程序(想想“在...中打开”)。这些文件放置在我的应用程序可以访问的临时文件夹中,但是一旦我通过标准保护 API 将它们加密到我自己的文档文件夹中,我想安全地删除这些文件。知道该怎么做吗?
【问题讨论】:
-
“安全”到底是什么意思?我想你可以在它们上面写几次
0,然后如果你偏执的话就删除这些文件,尽管使用闪存真的有必要吗? -
@Justin Ethier - 如果设备遭到入侵,文件将无法恢复。
-
安全地删除闪存上的文件比看起来要困难 - 因为单个闪存单元只能写入一定次数,写入的数据会随机分布在整个磁盘上(磨损均衡) .这就是为什么你可以用
0's 多次覆盖一个文件并且它仍然可以恢复。 -
据我所知,任何真正想要安全删除的人都会使用物理破坏。对于硬盘,用随机数据覆盖整个磁盘几次通常就足够了(除非它重新映射了一个坏扇区......)。对于闪存设备,即使您多次覆盖整个驱动器,数据也可能可以恢复。
-
这是一篇关于 SSD 上安全文件删除的有趣论文的链接:usenix.org/events/fast11/tech/full_papers/Wei.pdf
标签: ios security encryption