Windows 7激活背后的秘密

    Windows7發(fā)布已一年了,大家從不熟悉、不習(xí)慣,到全面認(rèn)識、愛不釋手。目前,大多數(shù)PC廠家都隨機(jī)安裝了正版Windows7操作系統(tǒng),但大多數(shù)都是家庭版。雖然微軟官方也發(fā)布了在線升級旗艦版的的方法人,但如果要全新安裝旗艦版,能免激活嗎?還是正版嗎?

  一、微軟的三大授權(quán)方式

  要解決這一問題,需要回過來頭來,全新認(rèn)識微軟的正版驗(yàn)證機(jī)制。微軟公司一直在加強(qiáng)防盜版方面工作,從Vista開始引入了軟件保護(hù)平臺(Software Protection Platform,簡稱SPP)技術(shù)。對零售、OEM和批量激活采用了不同類型的序列號和授權(quán)激活方式。從總體上說,Windows 7的許可授權(quán)方式分為以下三種:

  1、零售方式。個人選擇購買自己喜歡的版本,獲得個人授權(quán)。用戶同時還可以獲得表明產(chǎn)品正版的真品證書(Certificate of Authentication,簡稱COA)。這種方式授權(quán)又包括完整授權(quán)和升級授權(quán),完整授權(quán)是購買一個完整的產(chǎn)品,可以用來安裝或者升級,這是所有授權(quán)方式中最貴的。升級授權(quán)只能用來升級現(xiàn)有系統(tǒng),比如從Vista到Windows 7。該授權(quán)由微軟公司提供支持,而且是唯一的授權(quán)。

  2、OEM方式。由OEM廠商(比如聯(lián)想、方正)在出售的電腦中預(yù)裝,隨電腦一起授權(quán)使用。系統(tǒng)已經(jīng)預(yù)裝在電腦上,同時與電腦主板鎖定。通常附帶提供COA和用來重裝的系統(tǒng)恢復(fù)光盤。由OEM廠商提供支持,OEM授權(quán)不能用來升級。通常這是最便宜的授權(quán)方式。

  3、批量方式。給政府、企業(yè)、教育機(jī)構(gòu)等客戶進(jìn)行批量授權(quán)。該授權(quán)通過相關(guān)機(jī)構(gòu)獲得和管理,主要適用于Windows的較高級版本(一般不包括家庭版)。這種授權(quán)方式包括很多種,比如Open Value、Open License、 Select Plus、 Select License、 Enterprise Agreement、 Enterprise Subscription Agreement等。需要說明的是,批量授權(quán)只能用于Windows升級授權(quán)不包括完整授權(quán),也就是說電腦已經(jīng)擁有通過OEM或者零售獲得的低版本的Windows授權(quán)才能使用批量授權(quán)。

  二、OEM授權(quán)的三大級別

  由于目前品牌電腦已走入千家萬戶,因此本文側(cè)重說說OEM的激活原理,讓廣大朋友知其然也知其所以然。大家熟知的Windows 三大系統(tǒng),各自采用了不同級別的激活機(jī)制。

  1、Windows XP采用的是SLP 1.0版,其原理是檢測BIOS中是否存在由OEM硬件廠家設(shè)置的特定字串,如果有則認(rèn)為軟件為OEM合法授權(quán)可以激活。

  2、Vista 系統(tǒng)開始,SLP 驗(yàn)證技術(shù)升級為2.0。主要是加入了利用密鑰對信息進(jìn)行簽名的過程。因此驗(yàn)證過程也變得復(fù)雜了些,要環(huán)環(huán)相扣,以防驗(yàn)證信息被偽造。該驗(yàn)證過程需要在BIOS的ACPI中擴(kuò)展出專門的SLIC表來支持。

  3、Windows 7系列中,采用了SLP 2.1技術(shù),在這個版本中微軟并沒有對SLP技術(shù)進(jìn)行大的改動,仍然利用SLIC表,而且SLIC表的結(jié)構(gòu)也沒有變化,只是將Marker版本變成了2.1,當(dāng)然這種會造成Marker中數(shù)字簽名的改變,它對 2.0是兼容的。因此使用SLIC 2.1同樣可以用于Vista激活。本文主要針對SLP 2.1方式進(jìn)行說明。

  三、OEM方式激活必備的三個條件

  1、系統(tǒng)硬件條件。所謂的系統(tǒng)硬件條件,是指BIOS中包含驗(yàn)證所需信息,這是OEM廠商在出廠時提供的。主要是SLIC表,以及RSDT和XSDT中的OEMID、OEM Table ID信息。SLIC表包含OEMID、OEM Table ID、Windows Marker版本、Windows旗標(biāo)等信息,以及用來對這些信息進(jìn)行驗(yàn)證保護(hù)的OEM廠商公鑰和Marker的數(shù)字簽名。

  這里的驗(yàn)證要求:SLIC表校驗(yàn)正確、數(shù)字簽名正確、OEM ID和OEM Table ID一致、Windows旗標(biāo)正確。對于Windows 7還要求Marker的版本號(至少)為0x20001。這是整個OEM激活過程最麻煩的條件。

  2、微軟頒發(fā)的OEM證書(擴(kuò)展名為XRM-MS的文件)。該證書為xml格式,需要與對應(yīng)品牌SLIC匹配。因?yàn)樵撟C書中包含了OEMID、OEM公鑰等信息,用來與SLIC的相應(yīng)信息進(jìn)行驗(yàn)證匹配,防止SLIC被修改。同時需要驗(yàn)證OEM證書本身正確性以防證書被修改,這包括利用中的驗(yàn)證證書內(nèi)容,用作為微軟公鑰(與OEM公鑰無關(guān))來解密數(shù)字簽名,從而驗(yàn)證的正確性。驗(yàn)證過程中還包括規(guī)范化轉(zhuǎn)換(Canonicalize)和哈希運(yùn)算等處理。

  3、微軟發(fā)給OEM廠商的序列號,即Key。OEM廠商的序列號有兩種:SLP Key 和非SLP Key。它只與Windows的版本有關(guān),比如用于旗艦版的Key不能用于專業(yè)版,與OEM廠商無關(guān),即可用于任何品牌的OEM系統(tǒng)。

  SLP Key 是微軟頒發(fā)給大的OEM廠商,比如Lenovo、HP等使用。用來由OEM廠商進(jìn)行批量預(yù)安裝時使用,用戶無法直接獲得,它是唯一可以不必聯(lián)系微軟就可以進(jìn)行離線激活的序列號。非SLP Key由微軟發(fā)給一些小的OEM廠商,與零售版的序列號類似,需要電話激活或者在線激活。這種方式很少見,不在本文討論的范疇。本文討論的激活方式是采用SLP方式,因此需要SLP序列號。

  四、正版驗(yàn)證的過程

  1、檢查SLIC?梢允褂肧LIC_Dump_ToolKit 查看本機(jī)的SLIC版本及Marker是否正常、及OEMID是否一致等信息。

  2、檢查證書。使用SLIC_Dump_ToolKit將本機(jī)SLIC保存,使用PubkeyCompare驗(yàn)證該SLIC與證書是否匹配。另外用SlicInfo和CertInfo驗(yàn)證SLIC和證書是否偽造。

  3、檢查序列號。使用Windows 7 PID Key Checker檢查序列號是否為 OEM:SLP 類別。

  五、OEM激活具體驗(yàn)證過程

  滿足以上條件以后,就可以進(jìn)入激活過程。前面提到整個驗(yàn)證過程是層層嵌套環(huán)環(huán)相扣的過程,以保證以上各項信息的正確性。下面是整個驗(yàn)證過程。

  1、激活程序啟動以后,如果檢測到正確的SLP Key,開始OEM激活過程,否則進(jìn)行WPA方式激活(在線或者電話激活)。

  2、檢測OEM證書,并且利用OEM證書的數(shù)字簽名,驗(yàn)證OEM證書的正確性,如果驗(yàn)證通過繼續(xù)OEM激活,否則進(jìn)行WPA激活。

  3、將SLIC中的OEM公鑰、OEMID等信息與OEM證書中的信息相比較,如果匹配正確(表明OEM公鑰等信息正確)則繼續(xù)進(jìn)行OEM激活,否則進(jìn)行WPA激活。

  4、利用OEM公鑰,對SLIC中Marker數(shù)字簽名進(jìn)行驗(yàn)證,如果 驗(yàn)證通過(表明Marker中Message信息正確)則繼續(xù)OEM激活,否則WPA激活。

  5、驗(yàn)證Marker中的Windows旗標(biāo),如果旗標(biāo)存在,則OEM激活過程繼續(xù),否則進(jìn)行WPA激活。

  6、 驗(yàn)證Marker的版本,如果(至少)為0x20001,則OEM激活過程繼續(xù),否則OEM激活失敗,進(jìn)行WPA激活。

  7、獲取Marker中的OEM ID和OEM Table ID信息,將它與所有ACPI表頭中的對應(yīng)信息進(jìn)行比較,如果一致則OEM激活成功,如果不一致則觸發(fā)WPA激活過程。

北大青鳥網(wǎng)上報名
北大青鳥招生簡章