2010-12-09 116 views
0

我需要提供安全的擦拭功能,在Windows Mobile有以下细节:的Windows Mobile - 安全设备擦拭

  1. 设备上的所有文件应具有较强的密钥(完成)进行加密。
  2. 用户不应该能够在资源管理器中查看文件。
  3. 设备不应该显示用于加密文件的已用磁盘空间。
  4. 我的应用程序应该能够使用用于加密的相同密钥在相同位置获取(恢复)文件(通过解密)。
+1

所以,你想打电话给你的工具*安全设备擦拭但*代替真正从磁盘擦除数据安全,您实际上存储从用户隐藏起来,他会认为他的设备被安全地擦去,但它仍将包含所有数据(尽管已加密)?听起来有点狡猾...... – 2010-12-09 10:54:24

+0

这听起来相当OS级别的东西。你在写什么 - 文件系统驱动程序?在C#中? – Rup 2010-12-09 10:55:09

回答

1

承受家庭风险 - 它不能很好地完成。

C#没有对底层闪存结构的任何访问,这几乎是不可能的从文件系统接口擦拭固态存储器的内容 - 由于以下原因:

  • 磨损均衡 - 固体状态控制器/文件系统会将加密文件写入不同于原始位置的位置,因此不会将其删除。
  • 即使你得到文件系统来覆盖数据,也很少保证它实际上会这样做 - 擦除闪存模式是这样的,控制器很可能重新定位整个扇区(所有扇区都是128kbit,通常就足够了) ,并将旧的标记为空以限制重写 - 闪存容易被写入损坏,控制器会尽其所能确保数据均匀写入。穿越记忆。

你需要编写一个内核驱动来完成这个任务。

同样适用于(3.) - 无法从用户区完成。

不卖安全产品这样 - 它不会阻止对手,并会讨厌处理。