如何写保护USB密钥?


14

我正在寻找一种对USB密钥的内容进行写保护的解决方案。这样做的目的是防止其内容被用户无意中删除或被恶意程序更改-而不是限制其他内容的密钥回收。

这是到目前为止我的发现的摘要:

  1. 一些按键具有一个使其变为只读的开关。不幸的是,情况并非总是如此。

  2. 对于FAT32文件系统,唯一的解决方案似乎是将文件设置为“只读”。但是这种保护太弱了。NTFS有一个更强的写保护,可以通过从“所有用户”中删除写特权来实现,它将使文件对除“管理员”之外的每个帐户都是只读的。将磁盘格式化为UDF使其在Windows XP SP3下为只读,但在Windows Vista,Windows 7,Linux和Mac OS X中为可读写。在磁盘格式化为ISO9660 / CDFS的情况下,在Linux和Mac OS X下其为只读。不幸的是,内容不再可以从Windows读取。

  3. 使用微控制器专用软件(如果芯片支持),可以对密钥进行重新分区,以便显示例如写保护分区和读写分区。问题是,这对用户来说非常令人困惑:写保护的分区可能显示为CD-ROM驱动器(不是),插入后显然在计算机上安装了一些驱动程序(实际上它们并不是真正的驱动程序) ),并可能提示重新启动。此外,该解决方案无法普遍应用,因为它需要知道驱动器中使用了哪个芯片,并且需要有公开可用的工具来对设备进行重新编程。

  4. John Reasor提到实用程序能够填充设备上的所有可用空间,从而无法创建新文件(请参见下文)。

是否存在将USB密钥上的不可修改内容存储在通用解决方案?

  • 它可以保护内容免受通常在外壳程序(例如删除,重命名,移动)或标准应用程序正在修改的文件和文件夹(例如另存为)中所做的修改的影响。

  • 它应该适用于大多数设备

  • 用户仍然可以将设备重新格式化为常规密钥,以将其循环以用于其他用途(例如,使用fdisk


1
您将需要购买为此目的设计的闪存驱动器,而无须改造现有的闪存驱动器。可以通过修改驱动器上文件的Windows权限来完成,但是在Unix和Linux上,这些设置将被忽略。我有点困惑,您想保护数据免遭用户删除,但随后又希望用户格式化和回收驱动器吗?您不能同时使用两种方法。
摩押

是的,我不考虑将fdisk,format或分区管理器用作用户无意间执行的操作。我只是想防止这种行为。
caas 2011年

Answers:


2

您的发现是正确的,没有通用的解决方案可以帮助您。抱歉。

我只能改一下你说的话:

他们有写保护开关,或者没有

文件系统级保护可能会因操作系统和实施而异

特定于Microchip /密钥的功能,没有事先知道的简单方法-通常,您会要求将其制造为符合规格的产品,例如,我有一位客户购买了一些客户,这些客户被锁定只能在复制后才能读取。没有办法解决这个问题。


啊,我怕这个。谢谢你的帮助!
caas 2011年

2

这里有一些想法可以帮助您满足需求。

软件技巧–不得已

您可以在紧急情况下使用几种软件方法,但是它们大多数都是Windows特定的,并且有可能绕过它们-即使看起来不太可能。

寻找具有只读或写保护开关的USB闪存驱动器描述了如何基于将作为虚拟CD-ROM挂载的ISO文件创建自定义的U3分区。这样可以防止从该虚拟CD中删除项目,但是对于第二个分区仍然可以写入和感染来说,这对于系统清理磁盘而言并不理想。此外,更改保护区的内容是一个多步骤过程,涉及创建/更新ISO文件,然后将其用于在闪存驱动器上重新创建U3区域。

USB闪存驱动器写保护描述WriteProtectHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies密钥中的Windows注册表DWORD值如何控制USB设备是可写的还是写保护的。值0(零)允许写入USB设备。值为1会阻止写入USB设备。更改可能会在注销/登录后生效,但一定会在重新启动后生效。这种方法有几个缺点:软件可能会绕过它,阻止写入所有USB设备,它不会立即生效-它至少需要注销/登录,并且可能需要重新启动系统,并且撤消更改,因为它不仅影响闪存驱动器,而且还影响所有USB设备。

几个应用程序(共享软件和免费软件)和指令集通过简单地创建临时文件来消耗驱动器上所有可用的空闲空间来填充磁盘,从而简化了写保护的过程。如果没有空间创建甚至很小的autorun.inf文件,也很难感染驱动器,因为在驱动器连接到PC时默认情况下它不会运行项目。这可能总比没有好,因为它可以阻止某些感染,但是它也可能给人一种错误的安全感-它不是完全的安全性。Raymond.CC在USB闪存驱动器上创建伪造的虚拟文件来启用写保护和防止修改,这是其中有相关说明的站点之一。

我已经看到了有关通过重新格式化为NTFS,然后删除除非常有限的一组权限之外的所有权限来保护驱动器上文件的说明。就像将驱动器充满容量一样,这可能可以抵抗某些恶意软件,但不是100%的保护。进行此设置还取决于您正在运行的Windows版本(假定您使用的是Windows版本)–非商业版本可能无法提供对所需安全设置的访问,非Windows系统可能会忽略安全性或无法读取驱动器。这也使得告诉Windows在卸下驱动器之前先弹出驱动器更为重要,因为Windows更有可能在将更改写入驱动器之前等待。

http://www.fencepost.net/2010/03/usb-flash-drives-with-hardware-write-protection/


感谢您提供有关Windows注册表WriteProtect DWORD或填充设备的提示。我将它们添加到我的问题中以供参考。
caas 2011年

+1表示“用伪文件填充可用空间”。
Mudassir

2

市场上有一些笔式驱动器(就像SD卡一样),其上有这个小按钮/开关,可让您打开和关闭只读/写入功能。这似乎是您案件的唯一解决方案。它有很多笔式驱动器,我相信您会找到适合您需求的驱动器。

该站点列出了具有硬件写保护功能的设备。

例如:


1
好的,谢谢,我试图找到一种可以普遍使用的解决方案。似乎不存在,它可以归结为我所描述的三种选择之一:您可以使用开关或微控制器工具(如果您的设备支持)以强大的方式实现此功能,或者以弱的方式实现文件系统权限(在任何设备上)。
caas 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.