對于使用證書注冊的開發(fā)人員而言,新的 API 對基于 ActiveX® 的舊控件(xenroll.dll 和 scrdernl.dll)提供了重大改進。新的證書注冊 API 提供了定義良好的類層次結(jié)構(gòu),理解起來更加輕松,編碼也更加簡單。這一新的 API 取代了 Windows Vista 和 Windows Server 2008 中的 xenroll。
對 API 所做的這一更改對開發(fā)人員和 IT 專業(yè)人員都有影響,因為 Windows Vista 客戶端無法使用 Windows Server 2003 中提供的基于 Web 的注冊功能。這是由于這些注冊網(wǎng)頁(默認(rèn)存儲于 /certsrv 虛擬目錄下)所使用的 xenroll 控件在 Windows Vista 中已不復(fù)存在。知識庫文章“如何將證書服務(wù) Web 注冊頁與 Windows Vista 結(jié)合使用”(support.microsoft.com/kb/922706) 提供了一種相應(yīng)解決方案的相關(guān)信息。從 Windows Server 2003 自動注冊到 Windows Vista 未受影響。
在以前版本的 Windows Server 中,對注冊代理能代表哪些群體進行注冊并沒有什么限制。換句話說,一旦授予了用戶注冊代理能力,他就能夠代表林中的其他任何用戶進行注冊。當(dāng)然,這就意味著用戶通過代表某位現(xiàn)有用戶進行注冊,進而使用新創(chuàng)建的證書假冒該用戶,即可輕松升級自已的權(quán)限。為防止此類威脅,僅對具有高可信度的用戶提供注冊代理能力。這種方法雖然提高了安全性,但也使部署模型的靈活性降低,因為只有少量用戶具有代表其他用戶進行注冊的能力。因此,地理位置分散的大型組織為最終用戶(例如智能卡)部署證書的復(fù)雜度將會增加。
在 Windows Server 2008 中,可以將注冊代理限制在更低的級別??梢葬槍δ軌虼砟男┯脩暨M行注冊加以限制,也可以針對能夠依照哪些模板進行注冊加以限制,如圖 3 所示。例如,現(xiàn)在,某組織可以賦予某個本地 IT 專業(yè)人員代表本分支機構(gòu)內(nèi)所有用戶(而不是人力資源組中的用戶)進行注冊的能力。針對注冊代理的這一精確方法使企業(yè)能在其組織內(nèi)部更有效、更安全地委派注冊能力。
圖 3 注冊代理限制
管理 PKI 的最大挑戰(zhàn)之一是管理分散在組織內(nèi)各設(shè)備中的所有密鑰對。即使在一個不很復(fù)雜的 PKI 環(huán)境中,任何特定用戶也可能具有若干個不同的密鑰對(如 EFS、無線網(wǎng)絡(luò)身份驗證和 S/MIME),并要求無論該用戶從何處登錄都可以使用這些密鑰對。隨著移動計算和終端服務(wù)的日益盛行,在網(wǎng)絡(luò)內(nèi)復(fù)制這些密鑰對以便用戶在任何位置登錄都可以使用它們,將變得空前重要。雖然用戶持有的令牌(如智能卡)有助于解決部分問題,但組織內(nèi)可能仍然有用戶沒有卡或用戶持有的證書并未存儲在卡內(nèi)。憑據(jù)漫游通過安全存儲 Active Directory® 內(nèi)部的密鑰對和證書使得用戶無論從何處登錄都能夠使用它們,從而解決了上述問題。
憑據(jù)漫游首先在 Windows Server 2003 SP1 中推出,允許證書和密鑰在無需使用漫游用戶配置文件的情況下在計算機之間安全漫游。在 Windows Vista 和 Windows Server 2008 中,此功能是默認(rèn)包含的,并在證書服務(wù)客戶端 (CSC) 服務(wù)中實現(xiàn)。配置選項(如哪些證書可以漫游和如何解決沖突)是通過組策略進行管理的。在 Windows Vista 和 Windows Server 2008 中,CSC 服務(wù)還可以實現(xiàn)存儲的用戶名和密碼的漫游。雖然此功能默認(rèn)包含在 Windows Vista 中,但應(yīng)注意,Windows XP 中完全支持憑據(jù)漫游,登錄到 Windows Server 2003 域控制器(帶有更新部署;請參見 support.microsoft.com/kb/907247)時也完全支持憑據(jù)漫游。這就意味著您無需等待 Windows Vista 部署完成即可使用此技術(shù)。