使用 PnPDeviveID 创建 USB 安全密钥的确定性如何?
我需要使用 USB 闪存盘来保护软件。我是否可以仅使用 WMI 查询 USB 驱动器并从 Win32_DiskDrive 类获取 PnPDeviceId,并将其与应用程序中已散列和硬编码的驱动器进行比较?这有多安全? PNPDeviceID 属性可以修改吗?硬件编码了吗?还有其他想法吗?
从逻辑上讲,USB 驱动器将经过仔细选择。
谢谢
I need to protect software using a USB key. Can I just query a USB drive with WMI and obtain the PnPDeviceId from Win32_DiskDrive Class, and compare it with one already hashed and hard coded in the application? How secure is this? Can the PNPDeviceID property be modified? Is hardware coded? Any other idea?
Logically the USB drives are going to be carefully selected.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它可能可以用设备驱动程序层伪造,我不知道它是否可以在设备中更改 - 我从未见过任何可以做到这一点的东西。
我认为这是加密狗的廉价替代品以及分发软件的一种方式。
需要注意的一件事 - 非常便宜的 USB 密钥不会实现这一点,它们只是在插入时发送一个随机(?)密钥,因此在插入不同端口时它们会获得一个新的 ID。
It can probably be faked with a device driver layer, I don't know if it can be changed in the device - I have never seen anything to do it.
I was thinking of this as a cheap alternative to a dongle and a way to distribute the software.
One thing to be careful of - the very cheap USB keys don't implement this they just send a random (?) key when plugged in, so they get a new id when inserted in different ports.