標籤:綁定硬體 cpu序號 硬碟序號 硬碟分區序號
軟體綁定電腦硬體標識是不少軟體採用的防拷貝方法。然而如何確定電腦硬體的唯一標識卻不是簡單的事情。下面是常採用的方法及其優缺點。
1 電腦唯一性標識的方法1.1 CPU序號可用性
目前存在的CPU幾乎都支援CPUID指令。這個指令不僅可以擷取CPU生產廠商等基本資料,還可以擷取其他有關CPU的硬體資訊,包括CPU序號。
首先需要說明的是,CPU批號和CPU序號是不同的東西,同樣型號的CPU具有相同的批號,而CPU序號基本可以說是唯一的。
然而不幸的是,並不是所有CPU都支援CPU序號。曾經這還是個政治問題,使用者處於保密考慮,不希望CPU廠商使用序號來標識其購買的CPU。Intel的官方文檔還說,就算是其生產的CPU支援CPU序號,也不能保證其唯一性,而且使用者還可以在BIOS裡禁用序號功能。
安全性
VMware等虛擬機器可以輕鬆的更改虛機的CPU序號。
使用建議
不建議使用。
1.2 網卡MAC可用性
網卡MAC是具有國際標準的地址編號,能夠確保世界上的每一塊網卡具有唯一的序號。
問題是,雖然現在大部分機器都繼承了網卡,但是仍然有部分機器沒有安裝網卡。而且有些機器還安裝了多個網卡,這就需要做更多的判斷。
安全性
虛擬網卡軟體早就有了,對於虛擬網卡,其MAC地址可以隨便修改。
使用建議
連網機器可以嘗試使用。
1.3 硬碟序號可用性
除了一些特殊硬碟外,大部分硬碟都有自己唯一的硬體序號,而且不可修改。
但是硬碟相對而言,不如整合網卡和CPU那樣穩定,使用者更換硬碟的行為時而會發生。也存在多個硬碟並存的情況。
另外,對於使用RAID的使用者來說,硬碟序號是不存在的。
安全性
對於虛擬機器來說,無安全性。
使用建議
一般。
1.4 硬碟分區序號可用性
首先要說明,硬碟分區序號和硬碟物理序號是不同的東西。硬碟物理序號是硬碟廠商指定的,而分區序號是分區軟體指定的。每次重新分區的時候,這個序號會變動。
對於GPT硬碟分區來說,每一個分區都使用全球唯一的UUID來標識,具有良好的唯一性和可用性。
另外對於RAID裝置來說,分區序號同樣存在並可用。
安全性
由於這個序號是分區軟體指定的,所以也就無安全性而言了。
使用建議
可以使用。
2 綁定硬體的演算法
獲得了硬體唯一標識以後,需要做的就是讓軟體在運行時動態擷取這個標識,然後把它與授權碼進行比較。
如何根據硬體唯一標識產生授權碼是綁定演算法的全部。最簡單的方法是直接把硬體唯一標識作為授權碼。然而這樣做是非常不安全的,軟體使用者通過修改硬體唯一標識很容易就能矇混過關。
所以一般的方法是: 授權碼=f(硬體唯一標識)。其中的f演算法是需要保密的,這樣即使使用者看到了授權碼,仍然不能僅僅通過授權碼而修改硬體唯一標識。
但是使用者仍然可以複製已經獲得授權的機器的硬體標識和授權碼來複製軟體。
所以對於硬體標識的確定也需要對使用者保密,畢竟要完全複製一台機器的所有硬體序號是一件非常困難的事情。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
如何讓軟體綁定電腦硬體