什么是授权USB密钥的最佳方式

Sco*_*ate 5 usb installer authorize

我们的软件自动更新通过USB密钥安装(自动运行).如果我想确保只使用授权的USB密钥,那么最好的方法是什么?

我们的安装程序已经签名,否则将无法运行.但我更想检查已签名安装程序的USB密钥,如果它不在那里,只需忽略,甚至"弹出"USB设备.

而且我应该能够分辨出USB存储设备与相机或键盘之间的差异(代码中).

我只想禁用未经授权的存储设备.

谢谢你的想法.

Ear*_*rlz 4

未经授权的存储设备?这取决于您希望它的安全程度。对于最安全的级别,它将包括:

  • 写入闪存驱动器的特殊固件以获得额外的“元信息”(阅读:昂贵的闪存驱动器定制制造)
  • 特殊的 Windows 驱动程序用于从闪存驱动器读取元信息
  • 您的程序与该设备驱动程序对话以确认其已获得授权。

或者对于最不安全的级别,您有以下选项:

  • 使用隐藏文件和特殊密钥(可能是上次文件系统修改的哈希时间或其他什么?)(dd 可破坏)
  • 下降到文件系统级别以下并重新创建您自己的非常简单的文件系统..(通过模糊性提高安全性,并且 dd 可能会打破这一点)

另外,对于“最安全”的选项,您确实需要一种比自动运行和设备驱动程序更安全的运行程序的方式(它可能是半生不熟的,以使任何东西看起来都是授权的)。为什么您希望它只从授权的闪存驱动器进行更新?