我有一台服务器和几个客户端(目前技术并不重要。可以是任何技术。)。
我需要验证计算机。它们位于几个办公室,这些办公室在地理位置上分配了动态 IP 地址。
我不信任在电脑上工作的人,所以我不喜欢用户名/密码验证。
所以我只需要在这些电脑上安装的程序就可以访问服务器。如果将程序(或操作系统)克隆到另一台电脑上,服务器应该会拒绝它们。
我该怎么做?
(VPN 能解决这个问题吗?还有其他方法吗?)
答案1
您可能正在寻找基于硬件令牌的解决方案,例如尤比克。所以,现在他们仍然可以克隆,但他们仍然只有一yubikey 因此只有一功能齐全的电脑。
费用合理(我认为):
- 1 个,每个 25 美元
- 10 个,每个 20 美元
- 100 份,每份 15 美元
但对于纯软件解决方案...为什么不给计算机加载 SSH 证书并只允许一登录证书。它不会阻止克隆,但影响是一样的。
您可能希望添加对 cpuid 的检查,这样如果使用证书对来自多个不同客户端的客户端进行身份验证,则可以缩短证书的使用寿命,或者做一些其他令人讨厌的事情。请注意,cpu id 不是很可靠,但它确实为克隆者提高了一点门槛。
答案2
最简单的方法 - 但也很容易被欺骗的方法是检查网卡的 MAC 地址。
您不能依赖任何密钥或依赖于任何一次性生成的密钥的方法,而只能使用 get 来获取。您需要依赖中间硬件令牌或存储在硬件中的令牌。
后者可以通过使用 TPM 来实现。您可能希望在本主题中进行调查。
编辑
简而言之,TPM 可让您将令牌存储在基于硬件的存储中。这将有效防止您的机器被克隆。
您甚至可以更进一步,根据基于 TPM 的密钥来加密硬盘。
答案3
不存在“只有程序才能访问”这种事。要么它们可以通过给定的帐户/方法访问,要么它们不能。你共享的是哪种资源,只是文档吗?如果你使用简单的基于用户名/密码的方法,你随时可以更改/删除他们的帐户,如果他们做了一些令人担忧的事情。
类似地,您可以设置基于 VPN 的访问,这样您就可以根据 MAC 地址限制连接,从而(在合理范围内)允许您限制对特定硬件的访问并击败复制的操作系统。
答案4
USB 加密密钥 + 强力胶。(例如 eToken PRO)。它们的整个前提是它们将私钥保密/保护起来,并在密钥本身上执行加密功能,而不会将其暴露给计算机。