2013-07-22 74 views
0

我正在尋找檢測任何唯一約束,如果和當一個虛擬機映像從一個位置複製到另一個。實際上,我將此作爲產品許可服務修改的一部分,以防止許可證被篡改。許可服務使用MAC ID來唯一標識許可證。這在物理機器上工作良好,但是如果複製的VM許可服務無法將操作系統標識爲單獨的操作系統並調用許可證阻止。我只需要在VM複製/複製時更改的任何獨特元素。 (我省略了過度簡化的細節)。 任何想法讚賞。檢測虛擬機複製/複製

+0

你可能創始人在錯誤的假定你的發牌制度,作爲一個MAC地址是不是一成不變的,可以在一臺物理機器來改變......對於虛擬化檢測,有大量的文章在網上解決的地步。 – Seki

回答

0

我知道要解決這個問題的唯一方法是擁有一個授權服務器。當您將許可證代碼輸入到客戶端(在VM上)時,它會聯繫服務器並向其發送許可證代碼和其他信息。它重複地聯繫它(你定義了間隔 - 也許每隔幾個小時一次)詢問'我還有效'嗎?隨着這個請求,它發送一個唯一的ID。服務器回答'是的,你是有效的',併發送一個唯一的ID返回給客戶端,客戶端如果VM複製其下一個請求發送到服務器這一獨特的ID後面。

,下一次就要求服務器「我是有效的嗎?」時,如果服務器出現故障或網絡出現故障,您將需要確定如何處理,以便客戶端(例如,客戶端或服務器)停止服務。無法與服務器通信您是否立即禁用了您的軟件?糟糕的主意!不要做你的顧客很生氣。你會想給他們一個寬限期。這應該多久?幾天?周?

比方說,你給他們1個月的寬限期。理論上,他們可以在輸入許可證密鑰後克隆父虛擬機,然後在其寬限期耗盡之前將其他虛擬機還原到該克隆,禁用網絡訪問權限。這對您的客戶來說會很麻煩,只是爲了盜版軟件的額外副本。您必須確定哪種寬限期不會妨礙您的合法客戶,同時希望爲您提供所需的保護。

額外的保護可以通過驗證虛擬機的時鐘是否正確設置來實現。這將阻止上述方法進行盜版。

另外一個考慮是一個精明的用戶可以編寫自己的授權服務器與虛擬機實例進行通信,並告訴他們「你很棒」 - 使加密通信可以幫助阻止這一點。你想在這裏走多遠真的取決於你認爲盜版確實可能是你的客戶的問題。最後,你將無法阻止真正有時間的海盜,但你可以保持誠實的用戶誠實。

相關問題