硬件锁定许可:我应该使用哪些硬件?

时间:2012-09-23 19:20:24

标签: c# licensing wmi hardware

我最近实施了一个带模糊匹配的硬件锁定许可系统,无需重新激活即可处理硬件更改,但我需要更多硬件才能更安全/创建更可靠的模糊匹配。

现在我正在匹配以下内容:

  • 物理mac地址
  • 硬盘序列号
  • RAM部件号/制造商/尺寸
  • 处理器ID

在这种情况下可以使用哪些其他特定于机器的不变硬件序列号,并且可以从C#轻松检索。

检索此类硬件信息的代码示例也将受到赞赏。

澄清

当我说“不变”时,我的意思是硬件序列或信息,如果不直接修改机器中的硬件就不会改变。 (IE,不会自行更改,也不会通过软件更改)

1 个答案:

答案 0 :(得分:4)

在一家进行过这种硬件指纹识别的公司工作过,我可以告诉你,商业替代方案通常非常可靠,但在某些合法案件中它们都会失败。

请注意,此领域的某些专利是非常积极的。一些提出硬件锁定算法的大型成功公司(如微软)已被成功起诉。如果你在你所做的事情上非常成功,那可能不幸发生在你身上。

如果您认为需要硬件锁定,请选择一家公司,使您能够轻松地为那些对其系统进行合法升级的客户提供客户服务,最终违反模糊匹配规则。并且,准备好快速有效地提供该服务。

对于大多数用例,我会警告硬件锁定。它对您的软件设置了限制,这会限制您的合法客户使用该软件的合法愿望。

<强>更新

除了您列出的指标之外,还有一些指标可供使用。我没有考虑哪些特别容易从C#获得,因为我在这个级别处理的大部分代码都是可移植的C ++,并根据需要进行了一些特定于平台的程序集。

  • BIOS校验和
  • 处理器的数量和类型(处理器ID不适用于所有处理器)
  • 图形卡详细信息(经常升级的部分,但提供一些额外的熵)
  • 附加的显示器数量,屏幕分辨率,品牌(经常变化,但又增加了一点熵)。
  • 不常见且高度差异化的已安装字体(例如,忽略您从Office获得的字体等)
  • 所有已安装网卡的Mac地址(例如WiFi,有线)
  • 所有已安装的HD的序列号
  • 枚举其他设备(例如DVD,CD,内置读卡器)

请记住,笔记本电脑插入扩展坞,可能会有许多其他端口,新显示器等......