◆靳淑娟 袁 泉
?
結(jié)合802.1x的數(shù)字證書認(rèn)證方法研究與應(yīng)用
◆靳淑娟 袁 泉
(中國直升機(jī)設(shè)計研究所 天津 300300)
身份認(rèn)證是證實一個聲稱的身份是否真實有效的過程,是網(wǎng)絡(luò)安全技術(shù)的一個重要組成部分,是整個信息安全體系的基礎(chǔ)。數(shù)字證書是一個經(jīng)證書授權(quán)中心數(shù)字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件。它是以PKI(Public Key Infrastructure公鑰基礎(chǔ)設(shè)施)為基礎(chǔ),由CA(Certificate Authority認(rèn)證中心)授權(quán)發(fā)放和維護(hù)。為某企業(yè)引進(jìn)了數(shù)字認(rèn)證技術(shù),與現(xiàn)使用的各應(yīng)用系統(tǒng)進(jìn)行整合,尤其是操作系統(tǒng)的安全登錄方面,采用數(shù)字證書加指紋Key與802.1x網(wǎng)絡(luò)層身份驗證技術(shù)相結(jié)合的方法,提高系統(tǒng)登錄的安全性,保障信息系統(tǒng)更加安全可靠的運(yùn)轉(zhuǎn)。
身份認(rèn)證;網(wǎng)絡(luò)安全;PKI
隨著信息安全技術(shù)不斷的發(fā)展和信息安全保密要求進(jìn)一步提高,單一的身份驗證方式已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足系統(tǒng)安全性的需要,并對安全構(gòu)成了一定的威脅。某企業(yè)的信息系統(tǒng)的建設(shè)已初具規(guī)模,但在安全方面仍存在一些問題。系統(tǒng)在認(rèn)證用戶中也僅僅采用簡單的“用戶名+口令”的方式來認(rèn)證用戶。這種模式的身份認(rèn)證存在極大的安全隱患,如:在客戶端口令易被猜測,被惡意攻擊者掌握等。
鑒于現(xiàn)有系統(tǒng)存在的安全性問題,某企業(yè)在原有802.1x網(wǎng)絡(luò)層身份驗證技術(shù)的基礎(chǔ)上,利用公開密鑰基礎(chǔ)設(shè)施構(gòu)建一套雙中心(證書管理中心、密鑰管理中心)、雙證書(簽名證書、加密證書)二級架構(gòu)PKI/CA信任體系,采用數(shù)字證書加指紋Key與802.1x網(wǎng)絡(luò)層身份驗證技術(shù)相結(jié)合的方法,實現(xiàn)某企業(yè)信息系統(tǒng)統(tǒng)一身份標(biāo)識、統(tǒng)一身份簽發(fā)以及統(tǒng)一身份管理。
1.1現(xiàn)有身份認(rèn)證
某企業(yè)初期建立了基于windows域的信息管理系統(tǒng),通過windows域管理用戶訪問權(quán)限和應(yīng)用執(zhí)行權(quán)限。然而,基于windows的權(quán)限控制只能作用到應(yīng)用層,無法實現(xiàn)對用戶的物理訪問權(quán)限的控制,比如對網(wǎng)絡(luò)接入權(quán)限的控制,非法用戶可隨意接入用戶網(wǎng)絡(luò),這就給網(wǎng)絡(luò)和應(yīng)用安全帶來很多隱患。因此某企業(yè)提出并引入802.1x認(rèn)證,與域認(rèn)證結(jié)合以加強(qiáng)網(wǎng)絡(luò)安全。通過技術(shù)上的突破,完成802.1x認(rèn)證流程與windows域登錄流程的整合后,某企業(yè)實現(xiàn)了初步的身份認(rèn)證體系。
1.2現(xiàn)有身份認(rèn)證存在的問題
目前某企業(yè)園區(qū)網(wǎng)的系統(tǒng)登錄認(rèn)證仍然采用微軟傳統(tǒng)的Windows登錄認(rèn)證方式,根據(jù)保密安全規(guī)則用戶密碼必須滿足復(fù)雜性要求(口令:字符+數(shù)字+字母10位或者10位以上,密碼需7天進(jìn)行更改一次),但是基于用戶賬號和口令的身份認(rèn)證機(jī)制有以下的弊端:用戶口令容易被猜測,被惡意攻擊者掌握等。為了更加有效地控制和管理網(wǎng)絡(luò)資源,提高網(wǎng)絡(luò)接入的安全性,某企業(yè)隨后又引入了接入認(rèn)證系統(tǒng),通過其802.1x認(rèn)證實現(xiàn)對接入用戶的身份識別和權(quán)限控制。但是,802.1x只能從網(wǎng)絡(luò)層對登陸行為進(jìn)行認(rèn)證,對用戶信息無法非常準(zhǔn)確的核實,因此并不能做到對用戶身份信息的確認(rèn)。因此在本文中提出使用基于數(shù)字證書+指紋KEY來實現(xiàn)操作系統(tǒng)的安全登錄。
2.1PKI/CA信任體系層次結(jié)構(gòu)
某企業(yè)根據(jù)信息系統(tǒng)情況進(jìn)行CA認(rèn)證中心或RA注冊審核中心的建設(shè)。通過構(gòu)建一個完整的CA認(rèn)證體系,可以有效實現(xiàn)對數(shù)字證書的驗證,每一個數(shù)字證書都與上一級的簽名證書相關(guān)聯(lián),最終通過安全認(rèn)證鏈追溯到一個已知的可信賴的機(jī)構(gòu),由此便可對各CA中心所簽發(fā)的數(shù)字證書進(jìn)行有效性驗證。
2.2PKI/CA身份認(rèn)證建設(shè)方案
由于某企業(yè)已經(jīng)建有AD域管理系統(tǒng),因此,此次CA認(rèn)證體系的上線需要充分考慮到與原有的AD域管理系統(tǒng)及802.1x網(wǎng)絡(luò)身份認(rèn)證技術(shù)的集成。在實施了指紋KEY的情況下,用戶可以通過KEY中的數(shù)字證書進(jìn)行身份驗證,即用戶必須持有指紋KEY、數(shù)字證書才能進(jìn)行身份驗證,這一要求大大地減少了入侵者訪問單位網(wǎng)絡(luò)的可能。
數(shù)字認(rèn)證中心(CA)能夠簽發(fā)符合微軟“智能卡登錄”的證書,使用“智能卡(指紋KEY)登錄”證書不僅可以在線的方式(即由域控制器驗證證書,實現(xiàn)域登錄)登錄系統(tǒng)并訪問域中的共享資源,還可以離線的方式(即在不能夠訪問AD服務(wù)器的情況下由本機(jī)驗證證書,實現(xiàn)本地登錄)登錄系統(tǒng)。
2.3數(shù)字證書認(rèn)證與現(xiàn)有認(rèn)證方法整合
當(dāng)前我們重點要處置雙方的安全融合問題。通過對接入認(rèn)證系統(tǒng)的相關(guān)技術(shù)的分析,如果在一個已經(jīng)部署了802.1x與域登錄結(jié)合的環(huán)境內(nèi)再實施微軟智能卡(CA數(shù)字證書指紋KEY)登錄,存在以下矛盾:
802.1x證書認(rèn)證不能同域登錄同時進(jìn)行。只能是系統(tǒng)登錄完成后,再通過證書認(rèn)證進(jìn)行端口認(rèn)證,通過后聯(lián)通網(wǎng)絡(luò)。因此接入認(rèn)證系統(tǒng)提出了一個“逃生模式”,即在交換機(jī)未通過802.1x認(rèn)證時可以先放過證書驗證信息。成功登錄后再啟動802.1x認(rèn)證,放過其他網(wǎng)絡(luò)流量。但這種方案對交換機(jī)的型號有要求,有一定的局限性。
對此我們提出了不同的解決方法即安全套件解決模式。其實現(xiàn)方式是:對微軟MSGINA界面進(jìn)行修改,同時將操作系統(tǒng)當(dāng)前的用戶名、口令綁定至指紋KEY中,用戶名與口令采用公鑰進(jìn)行加密,從而保證其口令的安全性,客戶端啟動時候,安全套件模擬原用戶進(jìn)行用戶名、口令的提交過程,用戶名、口令提交過程被iNode客戶端(即802.1x接入認(rèn)證客戶端)所攔截,并發(fā)送至認(rèn)證服務(wù)器。一旦認(rèn)證通過后,啟動證書認(rèn)證流程。
首先在本地計算機(jī)上安裝PC安全登錄系統(tǒng),綁定數(shù)字證書與用戶賬號的唯一關(guān)系,當(dāng)用戶插入指紋KEY登錄操作系統(tǒng)時,首先驗證usk key中的數(shù)字證書,其次通過證書與本地用戶賬號的關(guān)聯(lián)項,驗證用戶賬號的權(quán)限。
指紋KEY登錄網(wǎng)絡(luò)部署圖如圖1所示:
在某企業(yè)園區(qū)網(wǎng)中部署完成管理中心(CA)后,通過CA將證書和證書吊銷列表(CRL)發(fā)布到Active Directory服務(wù)器。在域控制器中正確的配置證書的信任鏈,并通過設(shè)置組策略來指定智能卡的使用策略;然后,由管理員選擇“域控制器”證書模版,為每臺域控制器簽發(fā)證書,在域控制器證書中綁定域控制器的計算機(jī)名、GUID、CRL發(fā)布點等信息;最后,在客戶端安裝指紋KEY驅(qū)動以及指紋KEY管理軟件,通過CA服務(wù)器的申請頁面,用戶可以在管理員的配合下,選擇“智能卡登錄”證書模版自主申請并下載智能卡登錄證書,智能卡登錄證書會綁定用戶的登錄名、CRL發(fā)布點等信息。這樣,用戶就可以使用指紋KEY登錄到域,由域控制器驗證用戶證書的有效性,如果用戶證書被域控制器信任并有效,則允許登錄,否則拒絕。

圖1系統(tǒng)登錄驗證部署圖
在windows域中部署數(shù)字認(rèn)證中心(CA)的同時,域控制器會通過組策略機(jī)制刷新域內(nèi)所有客戶機(jī)的組策略,將智能卡證書的信任信息復(fù)制到客戶機(jī),這樣客戶機(jī)在無法連接到域控制器時,也可以使用智能卡證書登錄本機(jī)。
2.4整合后的登錄流程
在原有認(rèn)證方式上建設(shè)完成的證書認(rèn)證流程見圖2。

圖2 證書認(rèn)證流程
首先需要用戶計算機(jī)加入到Windows域,用戶啟動計算機(jī)之后,系統(tǒng)提示用戶將指紋KEY插入客戶端計算機(jī)的USB接口。
(1)系統(tǒng)要求用戶輸入指紋信息;
(2)指紋信息輸入正確將解開數(shù)字證書(包含私鑰);
(3)通過數(shù)字信封解開先去綁定的域賬號名、口令;
(4)網(wǎng)絡(luò)系統(tǒng)模擬原用戶登錄用戶,自動提交用戶名、口令;
(5)用戶名、口令提交過程被802.1x的iNode客戶端所攔截,并發(fā)送至認(rèn)證服務(wù)器;
(6)數(shù)據(jù)庫認(rèn)證通過,網(wǎng)絡(luò)可以正常連接;
(7)客戶端計算機(jī)將用戶證書及用戶簽名從用戶的指紋KEY發(fā)送至 Microsoft 密鑰發(fā)行中心 (KDC), 該中心對客戶進(jìn)行身份驗證;
(8)AD域控與客戶端分別下載CRL(數(shù)字證書吊銷列表)驗證其數(shù)字證書的有效性。
KDC 將證書中的 UPN(用戶主要名稱)與 Active Directory 中的 UPN 進(jìn)行比較。首先驗證用戶的證書。如果證書有效,那么 KDC 會驗證預(yù)授權(quán)數(shù)據(jù)字段中的簽名數(shù)據(jù)(該數(shù)據(jù)由用戶在用戶證書中使用公鑰的初始請求中發(fā)送的)。然后 KDC 使用隨機(jī)產(chǎn)生的對稱密鑰加密授權(quán)票證 (TGT),之后再用證書的公鑰將其作為來自 KDC 響應(yīng)預(yù)授權(quán)字段的一部分進(jìn)行加密。客戶端計算機(jī)通過收到的密鑰來對遠(yuǎn)程訪問服務(wù)器進(jìn)行身份驗證。雙方因此而進(jìn)行了相互的身份驗證。
用戶退出登錄時只需將KEY拔出,系統(tǒng)即可進(jìn)入鎖定狀態(tài),從而限制了他人對計算機(jī)的物理訪問。
基于PKI構(gòu)架的數(shù)字證書認(rèn)證方式可以有效保證用戶的身份安全和數(shù)據(jù)安全。本文針對某企業(yè)信息系統(tǒng)的身份認(rèn)證方式進(jìn)行了分析,并在現(xiàn)有的windows域與802.1x身份認(rèn)證的基礎(chǔ)上整合了基于PKI的統(tǒng)一身份認(rèn)證技術(shù),并把用戶信息存入USB Key中,實現(xiàn)雙因子強(qiáng)身份認(rèn)證,大大提高了信息系統(tǒng)的安全性。
基于PKI的身份認(rèn)證,是一個有發(fā)展前景的研究項目。雖然現(xiàn)在已經(jīng)能夠解決基本的安全問題,并滿足用戶的需求,但目前仍在一些不完善的地方,需要進(jìn)一步的研究。
[1]謝冬青.PKI原理與技術(shù)[M],2004.
[2]陸垂偉.PKI技術(shù)分析及應(yīng)用[J].計算機(jī)與數(shù)字工程,2006.
[3]關(guān)振勝.公鑰基礎(chǔ)設(shè)施PKI與認(rèn)證機(jī)構(gòu)CA,2002.
[4]王育民.通信網(wǎng)的安全理論與技術(shù),1999.
[5]李中獻(xiàn).認(rèn)證理論和技術(shù)的發(fā)展.電子學(xué)報,1999.