杜佳 李凱豐 西安航天動力技術(shù)研究所
統(tǒng)一身份認證平臺建設(shè)研究
杜佳 李凱豐 西安航天動力技術(shù)研究所
為了解決同一用戶在不同應(yīng)用系統(tǒng)之間頻繁進行身份認證的問題,對統(tǒng)一身份認證平臺的建設(shè)進行了深入的研究,給出了基于Web Service的統(tǒng)一認證平臺的系統(tǒng)整體結(jié)構(gòu)及身份認證流程,并對系統(tǒng)實現(xiàn)過程中的關(guān)鍵問題進行了研究探討。
身份認證 單點登錄 Web Service
隨著企業(yè)信息化建設(shè)的逐步深入,支撐業(yè)務(wù)的各種應(yīng)用系統(tǒng)越來越多,而這些應(yīng)用系統(tǒng)的建立沒有遵循統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn),數(shù)據(jù)格式和身份認證方式也各不相同。因此,對于需要使用多個不同應(yīng)用系統(tǒng)的用戶來說,就必須記憶不同的用戶名和口令登錄不同的系統(tǒng),如果是涉密的應(yīng)用系統(tǒng),密碼還要滿足復(fù)雜性要求并定期進行更換,這給用戶造成了沉重的記憶上的負擔(dān),而用戶為了方便記憶,往往會選擇簡單的或統(tǒng)一的密碼口令,存在極大的系統(tǒng)安全風(fēng)險和隱患。對于系統(tǒng)運維人員來說,需要創(chuàng)建和維護不同應(yīng)用系統(tǒng)的用戶信息,容易造成各系統(tǒng)之間用戶數(shù)據(jù)的不一致,而且還要應(yīng)付相當(dāng)數(shù)量的因忘記密碼而造成的需要重置密碼的請求。因此,建設(shè)一個統(tǒng)一的身份認證平臺顯得尤為重要。
統(tǒng)一身份認證平臺對用戶的身份信息進行集中統(tǒng)一的管理,保證用戶電子身份的唯一性、真實性和權(quán)威性,規(guī)范應(yīng)用系統(tǒng)的用戶認證方式,提高應(yīng)用系統(tǒng)的安全性和用戶使用的方便性,實現(xiàn)全部應(yīng)用的單點登錄。即用戶經(jīng)統(tǒng)一身份認證平臺登錄后,就可以訪問所有支持統(tǒng)一身份認證平臺的應(yīng)用系統(tǒng)而不需要再次進行身份認證。而且,由于用戶信息是集中保存和管理的,系統(tǒng)運維人員只需創(chuàng)建和維護一個統(tǒng)一的用戶信息數(shù)據(jù)庫,在人員進行了調(diào)動、調(diào)級、調(diào)職等變更后,或者單位體制改革、組織機構(gòu)變動后,只修改這一個用戶數(shù)據(jù)庫即可,而不必在多個應(yīng)用系統(tǒng)中分別設(shè)置,保證了用戶數(shù)據(jù)的一致性,并大大減少了應(yīng)用系統(tǒng)的維護成本。
2.1 系統(tǒng)結(jié)構(gòu)
統(tǒng)一身份認證平臺以統(tǒng)一用戶管理和統(tǒng)一用戶認證為基礎(chǔ),對外提供用戶數(shù)據(jù)同步服務(wù)和統(tǒng)一身份認證服務(wù),各應(yīng)用系統(tǒng)使用統(tǒng)一身份認證平臺提供的服務(wù)進行認證整合并結(jié)合自身的權(quán)限控制提供與登錄用戶相匹配的功能模塊和信息資源。用戶登錄統(tǒng)一身份認證平臺后,無需再次登錄即可使用所有支持統(tǒng)一身份認證平臺的應(yīng)用系統(tǒng)。平臺的系統(tǒng)結(jié)構(gòu)如圖1所示。
管理員可以登錄到系統(tǒng)后臺進行系統(tǒng)的日常維護和管理,監(jiān)控系統(tǒng)的運行狀態(tài),如用戶和組織信息維護、系統(tǒng)日志管理等。普通用戶可以修改部分個人信息和系統(tǒng)登錄密碼。
圖1 統(tǒng)一身份認證平臺系統(tǒng)結(jié)構(gòu)
2.2 身份認證流程
統(tǒng)一身份認證平臺的驗證流程如圖2所示。
圖2 統(tǒng)一身份認證平臺驗證流程
當(dāng)用戶訪問某個支持統(tǒng)一身份認證平臺的應(yīng)用系統(tǒng)時,具體的認證流程如下:
①用戶請求訪問某個應(yīng)用系統(tǒng),該應(yīng)用系統(tǒng)可以是B/S架構(gòu)的,也可以是C/S架構(gòu)的。
②如果訪問的是非受保護的資源,則應(yīng)用系統(tǒng)響應(yīng)用戶請求,直接返回用戶請求的資源,結(jié)束請求;如果訪問的是受保護資源,則轉(zhuǎn)到步驟3。
③應(yīng)用系統(tǒng)攔截用戶請求,并嘗試獲取用戶的單點登錄憑據(jù),如果獲取成功,轉(zhuǎn)到步驟4。如果獲取不到用戶登錄憑據(jù)或獲取到的用戶憑據(jù)無效,轉(zhuǎn)到步驟5。
④平臺驗證用戶憑據(jù)的有效性,憑據(jù)有效,返回用戶請求的資源,結(jié)束請求;憑據(jù)無效,則轉(zhuǎn)到步驟5。
⑤重定向到統(tǒng)一身份認證平臺的登錄頁面,用戶輸入用戶名和密碼,平臺驗證用戶身份的合法性,身份認證成功,則生成用戶登錄憑據(jù),返回用戶請求的資源;身份認證失敗則結(jié)束請求。
3.1 系統(tǒng)通用性問題
考慮到企業(yè)內(nèi)部應(yīng)用系統(tǒng)平臺及架構(gòu)的多樣性,如何使統(tǒng)一身份認證平臺適用于Java、.Net等不同軟件框架,Windows、Linux等不同操作系統(tǒng)平臺,以及B/S、C/S或兩者混合的不同架構(gòu),是平臺要考慮的一個關(guān)鍵問題,而Web Service是基于XML的,它可以使應(yīng)用程序之間的通信能夠以一種獨立于特定編程語言、操作系統(tǒng)和硬件平臺的方式進行。因此,平臺使用Web Service的方式對外提供平臺無關(guān)性的接口。
Web Service是一種輕量級的獨立的通信技術(shù),是通過簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP)在Web上提供的軟件服務(wù),它使用網(wǎng)絡(luò)服務(wù)描述語言(Web Services Description Language,WSDL)文件進行說明,并通過UDDI(Universal Description Discovery and Integration,通用描述、發(fā)現(xiàn)與集成服務(wù))進行注冊。如圖3所示,用戶通過UDDI找到應(yīng)用的WSDL描述文檔后,就可以通過SOAP調(diào)用該應(yīng)用提供的Web服務(wù)中的一個或多個操作。Web Service的一個最基本的目的就是提供在各個不同平臺的不同應(yīng)用系統(tǒng)的協(xié)同工作能力,即跨平臺性,無論是B/S架構(gòu)還是C/S架構(gòu)的應(yīng)用,無論是用Java實現(xiàn)的應(yīng)用還是用.NET實現(xiàn)的應(yīng)用等,都可以訪問Web Service,只要給出Web Service服務(wù)器的IP和接口名稱就可以對其進行訪問。
在統(tǒng)一身份認證平臺中采用Web Service對用戶數(shù)據(jù)同步服務(wù)和統(tǒng)一身份認證服務(wù)進行封裝,其實現(xiàn)步驟如下:
①開發(fā)用戶數(shù)據(jù)同步服務(wù)和統(tǒng)一身份認證服務(wù)。用戶數(shù)據(jù)同步服務(wù)實現(xiàn)統(tǒng)一身份認證平臺和其它應(yīng)用系統(tǒng)間的數(shù)據(jù)同步功能,統(tǒng)一身份認證服務(wù)主要實現(xiàn)用戶在各系統(tǒng)間的單點登錄功能。
②為開發(fā)完成的用戶數(shù)據(jù)同步服務(wù)和統(tǒng)一身份認證服務(wù)創(chuàng)建服務(wù)描述文件WSDL;
③在應(yīng)用服務(wù)器中部署Web Service;
④將Web Service發(fā)布到本地UDDI注冊中心;
⑤應(yīng)用程序客戶端檢索WSDL文件產(chǎn)生一個客戶端代理對象;
⑥應(yīng)用時,客戶端通過所產(chǎn)生的客戶端代理對象實現(xiàn)對Web Service的調(diào)用。
3.2 系統(tǒng)穩(wěn)定性問題
由于統(tǒng)一身份認證平臺建成之后,將會成為整個企業(yè)應(yīng)用系統(tǒng)的門戶,用戶訪問任何一個應(yīng)用系統(tǒng)都要經(jīng)過平臺的認證,平臺的故障將會引起整個應(yīng)用系統(tǒng)體系的癱瘓,所以平臺的穩(wěn)定性和可靠性是至關(guān)重要的。在設(shè)計過程中除了要考慮平臺本身的可靠性,如信息的加密存儲與傳輸,系統(tǒng)的并發(fā)控制等之外,還需要考慮服務(wù)器本身的安全問題與網(wǎng)絡(luò)帶寬的性能及系統(tǒng)的冗余,例如采用高性能的服務(wù)器,安裝網(wǎng)絡(luò)防火墻及入侵檢測系統(tǒng),采取雙機熱備和負載均衡等措施。
本文為企業(yè)實現(xiàn)統(tǒng)一身份認證平臺提供了一種通用的基于Web Service的設(shè)計思路和方法,通過統(tǒng)一身份認證平臺的建設(shè),可以實現(xiàn)“一人一個身份標(biāo)識”登錄所有應(yīng)用系統(tǒng)的管理模式,使得原本疲于處理紛繁冗雜的系統(tǒng)登錄與信息安全問題的過程變得安全且簡單。
[1]馮理群.基于Web的統(tǒng)一身份認證信息系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2015
[2]莫建楊.基于Web Service的電子政務(wù)一體化門戶的設(shè)計與實現(xiàn)[D].北京交通大學(xué),2015
[3]孫晉文,肖建國.基于Web Services的現(xiàn)代企業(yè)內(nèi)容管理與知識集成技術(shù)[J].計算機工程,2003,29(20):72-74
圖3 Web Service架構(gòu)圖
TP315
A