◆李 燁
基于多應用系統下統一用戶認證的研究與實現
◆李 燁
(核工業理化工程研究院 天津 300180)
隨著企業內部信息化程度的不斷提高,多數企業會部署若干信息化系統。每個應用系統都有一個自己的身份認證功能模塊,如使用傳統認證方式既不安全又須記憶大量密碼。那么,基于整合多種應用系統相對獨立的身份認證和授權機制來單獨形成一套新認證系統的思想便應運而生。目前,采用的較成熟系統為統一用戶管理系統,實現各應用系統間跨域的單點登錄的身份認證。本文對統一身份認證系統進行深入探討,并以檔案管理系統為例詳細講述統一身份認證的實現。
統一身份認證;單點登錄;CA認證中心;檔案管理系統
所謂身份認證,就是判斷一個用戶是否為合法用戶的處理過程。目前,大多數企業內部的應用系統都是通過各自單獨的賬號和密碼的身份認證機制對訪問系統的用戶進行身份驗證來阻止非法入侵者進入系統,從而保證系統的安全。這種傳統的認證機制暴露出一些弊端,主要體現在以下幾個方面:
(1)用戶信息無法統一:當一個用戶的屬性發生改變時,他的身份信息只在有限系統中被更改,其他系統無法及時得到通知,造成用戶信息無法統一。
(2)信息重復情況嚴重:在整個系統中,同一個用戶的信息反復存放,數據冗余量大,造成系統信息管理成本上升,性能下降。
(3)增加用戶操作的復雜性:用戶在使用不同應用系統時,必須反復登錄,而且必須采用相應的正確登錄信息,否則就會被系統阻攔。
(4)破壞系統安全性:同一個用戶為進入眾多應用系統,必須記憶和采用大量不同的密碼和身份信息,為了防止遺忘密碼,必定會使用重復的密碼和身份信息,一旦泄密,系統安全蕩然無存。
(5)增加用戶信息的維護難度:當用戶狀況變更時,需要同時修改不同應用系統中的大量條目,該無疑增加了信息系統的管理難度。
分析其原因,是由于分散的用戶管理,各個系統間沒有聯系。這就迫使用戶在進入每一個系統時都要重新提交自己的身份標識,來通過系統的認證[1]。
傳統應用系統登錄模式圖1所示:

圖1 傳統應用系統登錄模式圖
那么,基于整合多種應用系統相對獨立的身份認證和授權機制來單獨形成一套新認證系統的思想便應運而生。統一身份認證技術及單點登錄技術為實現統一用戶管理系統的實現提供了解決方案。
統一身份認證就是利用認證和服務相分離的思想,將多個應用系統中的身份認證模塊剝離出來,提供一個統一的身份認證入口,使所有的應用系統的用戶都能夠使用它來進行身份認證。
統一身份認證系統采用層次式結構,分為數據層、認證通道層和認證接口層。
數據層用于認證機構中數據(如密鑰和用戶信息等)、日志統計信息的存儲和管理。在各應用系統統一身份認證部署中不需要開發,因此不進行贅述。
通過用戶名/密碼或數字證書等方式作為載體,建立一個第三方認證機構,保障用戶信息的安全性。采用PKI技術,通過第三方的可信任機構——認證中心CA(Certificate Authority)作為第三方認證通道,把用戶的公鑰和數字簽名捆綁在一起即數字證書,由它來確認該公鑰確實屬于特定的持有者[2]。
這是一套標準接口的封裝,提供統一的接口標準,定義了基本的數據交換標準。身份認證系統通過WebServices對外發布認證服務,第三方應用系統按照接口標準,將組織、用戶的增、刪、改的信息進行數據的交互。因此,接口的開發即是設計的重點。
雖然實現了用戶身份的統一管理,用戶在每次登錄系統時仍然都要提供口令信息,單點登錄機制完美解決了該問題。單點登錄是指用戶只需進行一次身份認證,即可訪問在身份認證系統中注冊過的多個應用系統,如圖2所示。

圖2 單點登錄概念圖
運用以上兩種技術,使得統一用戶管理系統得以實現?;谝陨咸攸c統一用戶管理系統應包含三部分功能:CA認證中心、統一身份管理(UAP-U)、單點登錄(UAP-S),其架構分為四個部分:對外服務、身份認證模塊、平臺基礎服務、數據存儲。
檔案管理系統收集的資料是各種工作留存的最重要信息,檔案管理系統的用戶及系統安全得到保障是保障資料安全的第一步。核理化院管理網已有五個應用系統在使用,均已完成與統一用戶管理平臺的集成。這五種應用系統均采用USBkey作為公鑰存放的載體。因此,為節約成本,檔案管理系統同樣采用該種方式,不需要再另外制定密碼策略。
隨著應用系統業務的不斷擴展,各部門每年都有新用戶的增加;同時,每年有大量部門機構、人員的調整。為更方便更精準的維護該部分信息,除與統一用戶平臺集成實現統一身份認證和單點登錄功能,還要實現新的應用系統的同步組織、用戶推送,以減輕運維工作量。
3.2.1統一身份認證業務流程
(1)用戶使用在統一身份認證平臺注冊的USBKEY登錄認證平臺;
(2)統一身份認證系統創建會話并將認證ticket(身份認證令牌)返回用戶,用戶使用該ticket訪問在統一身份認證系統注冊過的應用系統;
(3)應用系統將該ticket回傳至統一身份認證系統;
(4)身份認證系統確認該ticket有效性后應用系統接受該用戶訪問。
3.2.2統一身份認證接口的設計
由以上業務流程分析得到,統一身份認證的接口包含兩部分:證書認證頁面調用接口和證書認證接口。
證書認證頁面調用接口用于頁面調用相關控件獲取證書內容,根據用戶所填的證書PIN碼來驗證是否已正確安裝證書驅動、證書PIN碼是否正確以及獲取證書內容為調用證書認證插件進行驗證做準備。
在頁面上需設置3個隱藏域,分別存放random,cipher,signcert(以上內容均在下面調用中有出現),另外還需設置一個密碼框用來接收用戶輸入PIN碼。
證書認證接口用于驗證用戶是否合法,根據用戶提交的證書認證請求來驗證其是否為系統中的合法用戶[3]。
3.2.3檔案管理系統組織架構設計
統一用戶管理平臺作為組織機構、用戶的統一管理機構,應用系統以該平臺組織架構為標準建設為最優方式。
核理化院統一用戶管理平臺組織架構如圖3所示:

圖3 核理化院統一用戶管理平臺組織機構圖
該結構為三級架構,檔案管理系統只能實現二級架構。在規劃中去掉了管理職能部門、院附屬研究所等幾個二級機構。
檔案管理系統組織架構實現,如下圖4:

圖4 檔案管理系統組織機構圖
3.2.4檔案管理系統用戶數據設計
用戶在各系統中包含多重信息:用戶編碼、用戶賬號、用戶姓名、用戶工號、用戶所屬機構等。而身份認證系統通過用戶公鑰與數字簽名是否匹配進行用戶合法身份的認證。在統一用戶管理總體設計中講到,核理化院使用USBkey作為用戶公鑰,該USBkey包含了用戶的loginName(用戶登錄名),也就是身份認證系統該用戶的唯一標識。登錄名為員工姓的全拼加名的縮寫組成,如有重名用編碼1、2…來標識。同時,參照統一用戶管理平臺的用戶信息,梳理出檔案管理系統的用戶數據編碼規范:

表1 用戶數據編碼規范
3.3.1接口開發實現的技術方式
統一用戶管理平臺采用的是Webservice技術。該服務通過SQAP消息、WSDL、HTTP等Internet協議成與其他軟件應用的交互。SOAP即簡單對象訪問協議,是在分布式環境中通過XML編碼進行通信的一種簡單的網絡協議;WSDL是Web服務描述語言,用于說明SOAP消息及如何交換數據信息。在同步組織機構、用戶的實現中包含兩部分內容:組織機構增、刪、改的同步推送;用戶增、刪、改的同步推送,接口要實現數據的交互。
因此,在這里使用Web服務的SOAP和WSDL技術,可實現信息的交換。
3.3.2同步組織機構、用戶的配置
進入統一用戶管理平臺,在資源管理中添加檔案管理系統的端口及同步信息,如下圖5所示:

圖5 檔案管理系統接入配置圖
在同步配置及管理功能節點下,完成檔案管理系統的同步訂閱接入,并依次添加“組織機構”和“用戶正職”的信息,如圖6、7所示:

圖6 同步訂閱接入配置圖

圖7 添加組織機構及用戶正職示意圖
上文中提到在同步組織機構及用戶時,采用WSDL技術進行開發,在同步的配置中須要將該WSDL的網址配置在系統中,實現代碼級的同步數據交換,配置如下圖8所示:

圖8 WSDL的端口的配置界面
經過以上幾個方面的配置實現了端口的綁定。完成人員、組織機構同步的服務。
3.4.1 單點登錄業務流程
單點登錄的業務流程說明,如下圖9:

圖9 單點登錄業務流程圖
(1)用戶第一次通過瀏覽器訪問第三方應用,第三方應用跳轉到認證服務中心進行認證(地址在web.xml中配置)
(2)認證成功,認證中心將包含ticket(認證令牌)的請求重返回到第三方應用;
(3)第三方應用將該ticket回傳至統一身份認證系統;
(4)身份認證系統確認該ticket有效性后會返回用戶的信息,用戶認證成功。
3.4.2單點登錄接口的設計
由以上特點可以看出所有內容的傳輸只包含ticket的傳輸,不需要增、刪、改等信息的數據交換。所以單點登錄可基于HTTP技術來實現,節約資源、實現快速開發。
單點登錄實現后的頁面,如下圖10所示:

圖10 單點登錄實現示意圖
針對企業內部業務不斷擴大,應用系統不斷增加的形勢下,傳統身份認證及登錄方式安全性差、維護不方便、用戶須重復記憶大量密碼的問題,采用與統一用戶管理平臺的集成的方式可有效解決以上問題。同時,通過實現同步組織用戶功能減輕網絡維護人員運維工作。
[1]鄭煥.基于Web Services統一身份認證系統研究[D].武漢理工大學,2018:2-3.
[2]張忠.數字證書的原理及其應用[M].計算技術與自動化,2001,14(2):2-7.
[3]陳哲.基于PKI技術的郵件系統部署實施方案研究[D].天津大學.