用于软件认证的硬件令牌/UUID

用于软件认证的硬件令牌/UUID

每台计算机主板/BIOS 上是否都有一个唯一的硬件令牌或 UUID,可用于创建“强耦合”的软件?

我正在为客户编写专有软件,我不能让任何人复制该软件,因为未经授权的复制和安装可能会导致整个设置发生故障,从而导致生命和财产损失。该设置在局域网上的多个硬件设备上工作,每个硬件设备都有自己的安全密钥,并创建类似于“区块链”的设置。

我想知道主板上是否有一个特殊的硬件设备/IC(如 BIOS),它是世界上生产的所有计算机所独有的?

我阅读了几篇文章并找到了以下替代方案:

  1. BIOS 具有唯一的序列号 - 问题:并非所有 BIOS 制造商都确保将序列号写入其芯片。我当前的计算机就是这样一个例子。主板制造商是 ,MSIBIOS 由 制造AMI。查询时,我得到了Default string结果。
  2. USB 令牌设备 - 问题:USB 设备是可拆卸的,并且可以毫不费力地与软件一起迁移到新系统。
  3. MAC 地址 - 问题:它可以很容易地更改。我不希望客户端因为更换网卡而遇到麻烦。
  4. MFA(多因素身份验证) - 问题:LAN 与 WWW 没有任何连接,因此可能根本无法实现这一点。

还有其他选择吗?我想要一个强耦合系统,这样就很难(甚至不可能)创建副本。任何所需的维护只能由经过培训和授权的人员进行。

答案1

您的方法存在的问题在于,您将部分许可外包给第三方,即设备制造商。

即使你找到了某种通用身份验证令牌,仍然有成千上万的硬件产品存在功能缺陷。一旦出现问题,你就无法修复它。

当您将部分许可外包给第三方时,您也不可能测试许可。

您应该完全拥有许可基础设施。实现此目的的一种方法是将许可后端部署在云中。所有软件实例都将收到唯一的许可证明,这些许可证明会从后端进行检查。

如果后端检测到两个用户拥有相同的许可证,那么它将禁用两个许可证。

这种方法确实需要连接到许可证后端。

总的来说,设计一个运行良好的许可系统是一个非常复杂的课题。因此我建议你寻求一些专业人士的帮助。

答案2

经过进一步的研究,我发现现在有一种设备叫可信平台模块缩写为 TPM,默认情况下可能会或可能不会添加到您的主板上。它用于存储此类信息,如硬件机密、加密详细信息、证书等。这里唯一的限制是我必须提供硬件,并且不允许客户在产品的整个生命周期内更改它。

相关内容