杜佳 李凱豐 西安航天動力技術研究所
統一身份認證平臺建設研究
杜佳 李凱豐 西安航天動力技術研究所
為了解決同一用戶在不同應用系統之間頻繁進行身份認證的問題,對統一身份認證平臺的建設進行了深入的研究,給出了基于Web Service的統一認證平臺的系統整體結構及身份認證流程,并對系統實現過程中的關鍵問題進行了研究探討。
身份認證 單點登錄 Web Service
隨著企業信息化建設的逐步深入,支撐業務的各種應用系統越來越多,而這些應用系統的建立沒有遵循統一的數據標準,數據格式和身份認證方式也各不相同。因此,對于需要使用多個不同應用系統的用戶來說,就必須記憶不同的用戶名和口令登錄不同的系統,如果是涉密的應用系統,密碼還要滿足復雜性要求并定期進行更換,這給用戶造成了沉重的記憶上的負擔,而用戶為了方便記憶,往往會選擇簡單的或統一的密碼口令,存在極大的系統安全風險和隱患。對于系統運維人員來說,需要創建和維護不同應用系統的用戶信息,容易造成各系統之間用戶數據的不一致,而且還要應付相當數量的因忘記密碼而造成的需要重置密碼的請求。因此,建設一個統一的身份認證平臺顯得尤為重要。
統一身份認證平臺對用戶的身份信息進行集中統一的管理,保證用戶電子身份的唯一性、真實性和權威性,規范應用系統的用戶認證方式,提高應用系統的安全性和用戶使用的方便性,實現全部應用的單點登錄。即用戶經統一身份認證平臺登錄后,就可以訪問所有支持統一身份認證平臺的應用系統而不需要再次進行身份認證。而且,由于用戶信息是集中保存和管理的,系統運維人員只需創建和維護一個統一的用戶信息數據庫,在人員進行了調動、調級、調職等變更后,或者單位體制改革、組織機構變動后,只修改這一個用戶數據庫即可,而不必在多個應用系統中分別設置,保證了用戶數據的一致性,并大大減少了應用系統的維護成本。
2.1 系統結構
統一身份認證平臺以統一用戶管理和統一用戶認證為基礎,對外提供用戶數據同步服務和統一身份認證服務,各應用系統使用統一身份認證平臺提供的服務進行認證整合并結合自身的權限控制提供與登錄用戶相匹配的功能模塊和信息資源。用戶登錄統一身份認證平臺后,無需再次登錄即可使用所有支持統一身份認證平臺的應用系統。平臺的系統結構如圖1所示。
管理員可以登錄到系統后臺進行系統的日常維護和管理,監控系統的運行狀態,如用戶和組織信息維護、系統日志管理等。普通用戶可以修改部分個人信息和系統登錄密碼。

圖1 統一身份認證平臺系統結構
2.2 身份認證流程
統一身份認證平臺的驗證流程如圖2所示。

圖2 統一身份認證平臺驗證流程
當用戶訪問某個支持統一身份認證平臺的應用系統時,具體的認證流程如下:
①用戶請求訪問某個應用系統,該應用系統可以是B/S架構的,也可以是C/S架構的。
②如果訪問的是非受保護的資源,則應用系統響應用戶請求,直接返回用戶請求的資源,結束請求;如果訪問的是受保護資源,則轉到步驟3。
③應用系統攔截用戶請求,并嘗試獲取用戶的單點登錄憑據,如果獲取成功,轉到步驟4。如果獲取不到用戶登錄憑據或獲取到的用戶憑據無效,轉到步驟5。
④平臺驗證用戶憑據的有效性,憑據有效,返回用戶請求的資源,結束請求;憑據無效,則轉到步驟5。
⑤重定向到統一身份認證平臺的登錄頁面,用戶輸入用戶名和密碼,平臺驗證用戶身份的合法性,身份認證成功,則生成用戶登錄憑據,返回用戶請求的資源;身份認證失敗則結束請求。
3.1 系統通用性問題
考慮到企業內部應用系統平臺及架構的多樣性,如何使統一身份認證平臺適用于Java、.Net等不同軟件框架,Windows、Linux等不同操作系統平臺,以及B/S、C/S或兩者混合的不同架構,是平臺要考慮的一個關鍵問題,而Web Service是基于XML的,它可以使應用程序之間的通信能夠以一種獨立于特定編程語言、操作系統和硬件平臺的方式進行。因此,平臺使用Web Service的方式對外提供平臺無關性的接口。
Web Service是一種輕量級的獨立的通信技術,是通過簡單對象訪問協議(Simple Object Access Protocol,SOAP)在Web上提供的軟件服務,它使用網絡服務描述語言(Web Services Description Language,WSDL)文件進行說明,并通過UDDI(Universal Description Discovery and Integration,通用描述、發現與集成服務)進行注冊。如圖3所示,用戶通過UDDI找到應用的WSDL描述文檔后,就可以通過SOAP調用該應用提供的Web服務中的一個或多個操作。Web Service的一個最基本的目的就是提供在各個不同平臺的不同應用系統的協同工作能力,即跨平臺性,無論是B/S架構還是C/S架構的應用,無論是用Java實現的應用還是用.NET實現的應用等,都可以訪問Web Service,只要給出Web Service服務器的IP和接口名稱就可以對其進行訪問。
在統一身份認證平臺中采用Web Service對用戶數據同步服務和統一身份認證服務進行封裝,其實現步驟如下:
①開發用戶數據同步服務和統一身份認證服務。用戶數據同步服務實現統一身份認證平臺和其它應用系統間的數據同步功能,統一身份認證服務主要實現用戶在各系統間的單點登錄功能。
②為開發完成的用戶數據同步服務和統一身份認證服務創建服務描述文件WSDL;
③在應用服務器中部署Web Service;
④將Web Service發布到本地UDDI注冊中心;
⑤應用程序客戶端檢索WSDL文件產生一個客戶端代理對象;
⑥應用時,客戶端通過所產生的客戶端代理對象實現對Web Service的調用。
3.2 系統穩定性問題
由于統一身份認證平臺建成之后,將會成為整個企業應用系統的門戶,用戶訪問任何一個應用系統都要經過平臺的認證,平臺的故障將會引起整個應用系統體系的癱瘓,所以平臺的穩定性和可靠性是至關重要的。在設計過程中除了要考慮平臺本身的可靠性,如信息的加密存儲與傳輸,系統的并發控制等之外,還需要考慮服務器本身的安全問題與網絡帶寬的性能及系統的冗余,例如采用高性能的服務器,安裝網絡防火墻及入侵檢測系統,采取雙機熱備和負載均衡等措施。
本文為企業實現統一身份認證平臺提供了一種通用的基于Web Service的設計思路和方法,通過統一身份認證平臺的建設,可以實現“一人一個身份標識”登錄所有應用系統的管理模式,使得原本疲于處理紛繁冗雜的系統登錄與信息安全問題的過程變得安全且簡單。
[1]馮理群.基于Web的統一身份認證信息系統的設計與實現[D].電子科技大學,2015
[2]莫建楊.基于Web Service的電子政務一體化門戶的設計與實現[D].北京交通大學,2015
[3]孫晉文,肖建國.基于Web Services的現代企業內容管理與知識集成技術[J].計算機工程,2003,29(20):72-74

圖3 Web Service架構圖
TP315
A