首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正在检测已拷贝/复制的虚拟机

正在检测已拷贝/复制的虚拟机
EN

Stack Overflow用户
提问于 2013-07-22 18:42:31
回答 1查看 393关注 0票数 0

我希望在VM映像从一个位置复制到另一个位置时检测任何唯一的约束。实际上,我将此作为修改产品许可服务的一部分,以防止许可证被篡改。许可服务使用MAC ID唯一标识许可证。这在物理机上运行良好,但在复制虚拟机的情况下,许可服务无法将操作系统识别为单独的操作系统并调用许可证阻止。我只需要在复制/复制VM时更改的任何唯一元素。(为了过于简化,我省略了细节)。任何想法都很感谢。

EN

回答 1

Stack Overflow用户

发布于 2013-11-21 04:04:27

据我所知,实现这一点的唯一方法是拥有一个许可服务器。当您将许可证代码输入客户端(在虚拟机上)时,它会联系服务器并向其发送许可证代码和其他信息。它反复联系它(您定义时间间隔--可能每隔几个小时一次),询问“我是否仍然有效”?与此请求一起,它发送一个唯一ID。服务器回答“是的,您是有效的”,并将一个新的唯一ID发送回客户端。客户端将此唯一ID与其下一次请求一起发送回服务器。

如果VM被复制,则下次它询问服务器“我是否有效?”时,唯一ID对于它或其他VM都将是不正确的。两者都不会继续工作。

您需要确定如果服务器出现故障或网络出现故障,从而导致客户端无法与服务器通信时该如何处理。你会立即禁用你的软件吗?馊主意!不要让你的客户生气。你会想给他们一个宽限期。这应该是多长时间?几天?几周?

假设你给他们一个月的宽限期。理论上,他们可以在输入许可证密钥后克隆父虚拟机,然后在宽限期即将用完之前将其他虚拟机恢复到此克隆,从而禁用对它们的网络访问。不过,对于你的客户来说,这将是一个麻烦,仅仅是盗版你的软件的额外副本。你必须确定什么样的宽限期不会困扰你的合法客户,同时希望能给你你所寻求的保护。

通过验证VM的时钟设置是否正确,可以实现额外的保护。这将阻止上述盗版方法。

另一个考虑因素是,精明的用户可以编写自己的许可服务器来与VM实例通信,并告诉它们所有的“你很好”--因此加密通信可以帮助阻止这种情况。你想在这里走多远,实际上取决于你认为盗版在多大程度上可能是你客户的问题。最终,你将无法阻止真正的盗版者,他们有时间,但你可以让诚实的用户诚实。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17785489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档