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

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

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