◆宋芹芹 袁 泉
?
PKI/CA系統異地統一身份認證研究與實現
◆宋芹芹 袁 泉
(中國直升機設計研究所 天津 300300)
企業跨區域發展的趨勢對信息化提出新的課題,實現兩地統一用戶身份認證和管理的需求更為迫切。采用分布式PKI/CA架構,通過數字證書對兩地操作系統、應用系統提供統一的安全支撐,形成面向業務應用和數據管理的統一身份、統一認證的信任體系,實現異地信息資源的整合利用和業務協同。
PKI/CA;異地;統一身份驗證
企業跨區域發展的趨勢對信息化提出更高的要求,其中兩地統一用戶身份認證和管理的研究最為迫切。以某企業有A、B兩個工作園區為例,在A園區中搭建PKI/CA系統,用戶通過安全認證網關進行應用系統業務安全訪問。在B園區采用分布式部署,通過數字證書為操作系統、應用系統提供統一的安全支撐,實現兩地統一的用戶身份管理,形成面向業務應用和數據的統一身份、統一認證的信任體系,從而實現兩地信息資源的整合利用和業務協同。
每個用戶持有兩個指紋器,分屬A、B區域,每個指紋器中分別有兩張證書,為加密證書和簽名證書。每個證書擁有一個密鑰對,主證書為加密證書,輔證書為簽名證書。其中,主證書密鑰對相同,輔證書加密密鑰相同,從而保證兩地身份驗證無縫連接。為實現不同區域用戶登錄到唯一的應用ID,需要保證兩個區域中的用戶證書屬性信息保持相同。通過讀取證書CN號,即可完成用戶安全登錄到應用系統。
PKI是公鑰基礎設施的簡稱,是以數字證書為核心,對網上傳輸的信息進行加解密、數字簽名和簽名驗證,保證了信息的完整性、機密性和不可否認性。PKI體系通過使用公開密鑰技術和數字證書來確保系統信息安全并負責驗證數字證書持有者的身份,是目前較為成熟的保護信息安全的一套體系[1]。
PKI體系組件包括證書認證系統(CA)、證書注冊系統(RA),密鑰管理系統(KM)以及目錄服務系統(LDAP)。
證書管理中心系統(CA)負責簽發管理證書,執行根認證中心制定的策略;為個人、服務器以及其他設備簽發證書,通過向下簽發下級管理中心證書,進行認證體系的縱向擴充。
證書注冊審核中心系統(RA)是認證系統為用戶服務的對外窗口,為用戶進行用戶身份信息的審核,確保其真實性,管理和維護本區域用戶身份信息,注冊和凍結用戶、發放和管理數字證書。
密鑰管理中心系統(KMC)主要負責密鑰的管理,包括密鑰的產生、分發、更新、銷毀全生命周期的管理,為管理中心提供密鑰托管服務。
證書目錄服務系統(LDAP)分主、從目錄服務系統。其中,主目錄服務器接收證書管理系統的數據更新,并將更新的數據實時同步到從目錄服務系統中;從目錄服務系統負責對外進行信息發布,為業務應用系統提供證書信息查詢服務。LDAP是CA中心對外服務的關鍵組件,負責證書的存儲、發布、查詢。
數字證書是將實體屬性等標識信息和相應公開密鑰綁定在一起的數據文件,數字證書是采用公鑰體制,即利用一組相互匹配的密鑰進行加密和解密。是由第三方信任機構—認證中心CA進行數字簽名并公開發布。
2.1 PKI/CA系統基礎架構
企業在園區A建設二級CA中心,作為上級網絡中心PKI/CA體系的二級結構。結合數字證書與windows域管理機制,實現指紋器登錄操作系統,完成用戶開機登錄強身份認證與退出鎖定保護。通過安全認證網關,實現基于數字證書的身份認證,達到強身份認證的效果。通過簽名驗證系統與OA系統的結合,實現基于數字證書的責任認定,對實際業務過程中的重要流程做簽名驗證。
該身份認證系統主要由證書管理中心系統(CA)、證書注冊審核中心系統(RA)、密鑰管理中心系統(KMC)、證書目錄服務系統(LDAP)、安全認證網關等組成。
證書認證網關部署在應用客戶端與應用服務端之間,與應用采用串聯部署,即客戶端與服務端之間的所有流量都經過認證網關,認證網關負責完成對客戶端的完整證書認證過程以及數據的傳輸加密,客戶端只有通過了認證網關的驗證,請求才能到達真正的應用服務器。安全認證網關為網絡應用提供基于數字證書的高強度身份認證服務,高強度數據鏈路加密服務,可以有效保護網絡資源的安全訪問[2]。
2.2分布式PKI/CA系統架構設計
在B區域建設一套身份認證系統,其建設模式與A區模式相同,兩地身份認證體系技術標準兼容。為滿足人員在A區與B區流動辦公,進去不同區域后,需要實現可以使用對應區域中的數字證書進行相同的業務操作,即異地登錄。首先A區與B區兩地身份認證系統需要做到兩個同步:(1)兩地密鑰復制與同步;(2)CA用戶信息復制與同步。分布式PKI/CA系統架構如圖1。

圖1 分布式PKI/CA系統架構圖
2.3用戶登錄操作系統
兩地辦公過程中,進入不同區域后,需要使用對應區域中的數字證書登錄操作系統。每個用戶擁有兩個指紋設備,分屬A、B區域,分別擁有兩張證書,為加密證書和簽名證書。每個證書都有一個密鑰對,主證書為加密證書,輔證書為簽名證書,主證書密鑰對相同,而輔證書加密密鑰相同,從而保證兩地身份驗證無縫連接。
首先需要用戶計算機加入到Windows域,用戶啟動計算機之后,系統提示用戶將指紋KEY插入客戶端計算機的USB接口。用戶登錄系統身份認證過程如圖2所示。
(1)用戶輸入指紋信息;
(2)指紋信息輸入正確將解開數字證書,通過數字信封解開綁定的域賬號名和口令;
(3)客戶端計算機將用戶證書及用戶簽名從用戶的指紋KEY發送至 Microsoft 密鑰發行中心 (KDC), 該中心對客戶進行身份驗證;
(4)KDC 將證書中的 UPN(用戶主要名稱)與 Active Directory 中的 UPN 進行比較。KDC 還驗證證書上的簽名以確保其是由 Active Directory林中的受信任的 CA 發出。
KDC 首先驗證用戶的證書,若證書有效,KDC 會驗證預授權數據字段中的簽名數據(該數據由用戶在用戶證書中使用公鑰的初始請求中發送的)。然后 KDC 使用隨機產生的對稱密鑰加密授權票證 (TGT),之后再用證書的公鑰將其作為來自 KDC 響應預授權字段的一部分進行加密。這就確保了僅具備正確私鑰的客戶才可解密登錄會話密鑰。系統將密鑰傳輸至客戶端計算機??蛻舳擞嬎銠C通過收到的密鑰來對遠程訪問服務器進行身份驗證。雙方因此而進行了相互的身份驗證[3]。用戶退出登錄時只需將KEY拔出,系統即可進入鎖定狀態,從而限制了他人對計算機的物理訪問。

圖2 用戶登錄系統身份認證過程
2.4 異地訪問應用系統
用戶異地訪問應用系統,需要解決如下兩方面的問題。
第一,用戶身份鑒別。用戶使用本園區身份認證體系簽發數字證書進行業務系統訪問,通過對兩個區域中的數字證書信任鏈進行相應信任配置,配置后不同園區用戶將可以持本園區數字證書通過安全認證網關系統身份鑒別。
第二,用戶數字證書信息交互。為實現用戶異地登錄到唯一的應用系統ID,需要保證兩個區域中的用戶證書屬性信息保持相同,包括OU、主題備用名等?,F有應用系統是通過讀取證書屬性信息中的CN第來確定用戶ID,即可完成用戶安全登錄到應用系統。
B區客戶端訪問兩地應用系統業務流程如下:
(1)用戶向安全認證代理發出訪問門戶請求;
(2)安全認證代理將該訪問請求發送至B區安全認證網關,安全認證網關要求用戶提交能夠標識其身份信息的數字證書;
(3)用戶輸入指紋信息調出數字證書;
(4)安全認證代理將用戶證書信息提交至B區安全認證網關,安全認證網關完成身份驗證并同時建立安全加密傳輸通道;
(5)用戶正常訪問A區門戶系統,同時通過門戶系統實現后臺兩地業務系統的安全登錄。
PKI/CA技術的發展日趨成熟,廣泛被使用,但遠程協同辦公對其提出了更高的要求。本文中分布式PKI/CA系統架構保證了兩地身份驗證無縫連接,滿足了異地用戶在使用異地數字證書訪問應用系統的身份鑒別需求,對此類技術的研究和實現起到了一定的指導意義。
[1]趙穎.一種基于證書的登錄控制實現[J].信息安全與通信保密,2006.
[2]于華,曹海濱,劉良旭.基于LDAP和PKI的Intranet統一身份認證系統的研究[J].計算機工程與設計,2006.
[3]李彥,王柯柯.基于PKI技術的認證中心的研究[J].計算機科學,2006.