我们的软件自动更新通过USB密钥安装(自动运行)。如果我想确保只使用授权的USB密钥,那么最好的方法是什么?
我们的安装程序已经签名,否则将无法运行。但我更想检查已签名安装程序的USB密钥,如果不存在,只需忽略,甚至“弹出”USB设备。
我应该能够分辨出USB存储设备与相机或键盘之间的区别(代码中)。
我只想禁用未经授权的存储设备。
感谢您的想法。
答案 0 :(得分:4)
非授权存储设备?这取决于您希望它的安全程度。对于最安全的级别,它将包括:
或者,对于最不安全的级别,您有以下选项:
此外,对于“最安全”选项,您确实需要一种更安全的方式来运行程序,而不是自动运行和设备驱动程序(这可能是半生不熟的,以使任何东西看起来都是授权的)。为什么要让它只从授权的闪存驱动器更新?
答案 1 :(得分:2)
您可能能够读取USB驱动器的序列号(假设您的USB驱动器具有序列号;不是全部都可以)。然后您的应用程序可以打电话回家获取最新的授权序列号列表,并检查是否匹配。
答案 2 :(得分:0)
Earlz的反应很好,虽然我认为你不需要定制闪存驱动器......你只需要带有某种独特固件加密标识符的闪存驱动器。也许Kingston Data Traveler Line中的某些东西可能会成功。 (我从来没有真正使用过这些加密的usb棒之一,所以我对实际的实现细节有点模糊)。