趙偉
摘 要:跨多級域單點登錄訪問及身份認證系統(tǒng)的構(gòu)造,主要用于解決了多級域之間的單點登錄訪問技術(shù)問題,其特征是在多級域之間訪問過程中,通過統(tǒng)一的登錄口進行訪問。該課題研究技術(shù)方案為:將跨多級域單點登錄訪問及身份認證系統(tǒng)將多級域各自的認證源整合到了一起,并且將多個域之間的用戶關(guān)系進行了整合,用戶可以使用任意子域的用戶名、密碼進行訪問登錄。并且在用戶訪問子域的過程中,通過對子域單點登錄客戶端的優(yōu)化,實現(xiàn)了對應用訪問權(quán)限的細粒度的控制。
關(guān)鍵詞:跨域認證 單點登錄 身份認證
中圖分類號:TP39 文獻標識碼:A 文章編號:1672-3791(2015)11(c)-0025-03
該研究針對國內(nèi)電子政務多年的建設,政務信息化程度的逐步加深,各種支撐應用和用戶數(shù)量不斷增加,網(wǎng)絡規(guī)模隨之迅速擴張,帶來了一個嚴重的問題,即:網(wǎng)絡內(nèi)的用戶和用戶的交互性逐步增大,電子政務用戶認證和訪問控制信息安全問題愈見突出,對系統(tǒng)的安全整體防護和可用性也提出了更高的要求。具體體現(xiàn)為,原有的帳號口令、權(quán)限認證、審計管理措施已越來越不能滿足政務信息化當前及未來業(yè)務發(fā)展的要求,面對眾多應用系統(tǒng)(包括三方應用系統(tǒng))托管、復雜的區(qū)域化應用建設,迫切需要解決統(tǒng)一的帳號數(shù)據(jù)、集中權(quán)限分配,單點登錄認證、集中安全審計等問題。使系統(tǒng)和安全管理人員可以操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡設備、應用系統(tǒng)等各種IT資源的帳號、認證、授權(quán)和審計的集中控制和管理,明確相關(guān)管理人員的權(quán)限和職責,從技術(shù)上保證企業(yè)整體安全策略的實施,保障網(wǎng)絡及系統(tǒng)安全、高效的運行,提高信息化服務質(zhì)量。滿足薩班斯法案關(guān)于信息安全控制的要求,符合政務信息化的發(fā)展趨勢。
1 研究思路
該課題旨在研究電子政務應用環(huán)境下多級域訪問解決方案,是對于跨多級域?qū)崿F(xiàn)單點登錄訪問,以及子域內(nèi)訪問過程中對于應用權(quán)限細粒度的控制。
所述的跨多級域的實現(xiàn),是指由跨域訪問中心構(gòu)成,跨域訪問中心包含了跨域用戶數(shù)據(jù)映射同步模塊、(多級域)域ID生成模塊、多級域訪問認證接口模塊。
所述的子域內(nèi)部的訪問權(quán)限控制,是由單點登錄的客戶端完成,客戶端會集成在應用端,當用戶發(fā)起應用訪問請求時,客戶端負責驗證用戶票據(jù)的有效性,以及根據(jù)票據(jù)中包含的權(quán)限信息來判斷是否對用戶的訪問請求進行放行。
2 設計目標
該課題設計目的在于克服上述已有技術(shù)的不足,提供了一種跨域單點登錄機制,以解決在多級域情況下的多域應用訪問,并、對于目前域內(nèi)的單點登錄的技術(shù)架構(gòu)進行優(yōu)化,以解決域內(nèi)用戶對應用訪問權(quán)限細粒度的控制。
3 設計說明
該課題是對Web應用的整合管理,在每個Web應用擁有自己的登錄、用戶管理的情況下,提供了一種將多個web應用融合,特別是采用單一登錄窗口完成對多個應用訪問的一種基于SAML的登錄和身份認證系統(tǒng),尤其是在現(xiàn)有同一域內(nèi)的應用基礎上進行改進,提供單一登錄窗口,對于用戶權(quán)限許可內(nèi)的多個子域?qū)崿F(xiàn)跨域單點登錄。
跨域用戶數(shù)據(jù)同步模塊,是跨域訪問中心發(fā)布用戶數(shù)據(jù)同步接口,接口內(nèi)容包含同步更新、修改、刪除用戶數(shù)據(jù)。具體實現(xiàn)為用戶通過子域接口從子域抽取用戶數(shù)據(jù)信息、子域ID信息,在子域進行封裝,然后通過數(shù)據(jù)同步接口傳入到跨域訪問中心。
跨域訪問中心,當跨域訪問中心得到這些用戶數(shù)據(jù)信息,首先判斷標志位,再根據(jù)標志位來判斷來源數(shù)據(jù)是新增、修改、刪除中的哪個。
(1)新增操作,是在根據(jù)用戶信息中的唯一標識信息判斷用戶唯一標識是否已經(jīng)存在于跨域認證源中,如果存在,則將用戶信息作為映射信息存儲在用戶唯一標識節(jié)點下,作為映射節(jié)點信息。如果不存在,則首先為該用戶創(chuàng)建一個唯一標識節(jié)點,再將用戶信息添加到這個唯一標識節(jié)點下。
(2)更新操作時,根據(jù)用戶信息中的唯一標識首先找到唯一標識,然后再根據(jù)用戶子域信息,對認證源上的對應映射節(jié)點信息進行更新。
(3)刪除操作時,根據(jù)用戶信息中的唯一標識首先找到唯一標識,然后再根據(jù)用戶子域信息,對認證源上的對應映射節(jié)點信息進行刪除。
(4)跨域用戶訪問認證模塊,是向參與到跨域訪問中的子域提供認證接口,對于子域單點登錄系統(tǒng)的認證模塊進行改造,在原有子域認證源基礎上,增加了可選的跨域認證源配置,這樣在網(wǎng)絡暢通、用戶需要開通跨域訪問時,開通跨域訪問需求。當網(wǎng)絡阻斷時,用戶又需要使用子域中的應用,則可以選擇子域認證,保證子域內(nèi)應用訪問正常。
(5)跨域認證即為,用戶任意子域登錄時,需要提供用戶唯一標識、用戶名、密碼,通過接口,首先根據(jù)唯一標識判斷用戶是否存在跨域認證源中,如果存在則繼續(xù)判斷在該節(jié)點下的用戶映射信息中是否有一對可以滿足用戶名、密碼。如果滿足則返回用戶認證成功,并返回用戶的跨域訪問票據(jù)。用戶持有該票據(jù)可以訪問其他多級域而不需要再次輸入驗證信息。子域會根據(jù)跨域訪問票據(jù)判斷用戶是否認證成功。如果唯一標識不存在,則返回用戶唯一標識不存在。如果映射節(jié)點中沒有可以匹配的用戶名、密碼,則返回認證失敗。
(6)子域內(nèi)部的訪問權(quán)限控制,其特征是對于用戶在應用中的訪問,可以進行對訪問功能模塊的控制,不再止步于可以訪問那些應用,而是具體到可以訪問應用下的那些操作,所述的子域,其單點登錄是由服務器和客戶端組成的,當用戶首次訪問應用時,客戶端會攔截訪問,并查看是否具有服務器頒發(fā)的訪問服務票據(jù),如果沒有則會重定向會服務器端進行認證,認證完成后,會將用戶的應用及應用權(quán)限信息封裝成票據(jù),用戶在訪問應用的過程中,客戶端會攔截請求,并將票據(jù)中的權(quán)限內(nèi)容與請求中的內(nèi)容進行對比,如果符合,則放行通過,如果不符合則拒絕用戶訪問請求。
4 設計分析
4.1 設計模型
跨域單點登錄系統(tǒng),包括跨域訪問中心、域內(nèi)單點登錄子系統(tǒng)和用戶管理子系統(tǒng)、域內(nèi)單點登錄控制中心。
跨域訪問中心,提供多級域唯一的統(tǒng)一認證源,并且將多級域的用戶通過用戶數(shù)據(jù)映射的方式同步到統(tǒng)一認證源中,實現(xiàn)這一點,多級域的每一個子域內(nèi)的用戶都具有相同的唯一標識信息,在用戶數(shù)據(jù)同步的過程中,相同唯一標識的用戶信息存儲在同一個數(shù)據(jù)節(jié)點下,數(shù)據(jù)節(jié)點下存儲著用戶每個子域不同的用戶名和密碼信息。
跨域訪問中心,給每個參與了跨域的多級域都分配了域ID,在多級域部署完成后,管理員使用多級域的域ID生成功能,通過跨域訪問中心提供的域ID生成接口,將域ID生成,同時保留在跨域訪問中心和子域的存儲中。
跨域訪問中心,在用戶的映射數(shù)據(jù)同步過程中,會將域ID信息、與用戶的映射信息進行封裝,一并同步到跨域訪問中心,這樣就標識了在跨域訪問中心的每個用戶映射數(shù)據(jù)的數(shù)據(jù)來源。
域內(nèi)單點登錄子系統(tǒng)用戶域內(nèi)訪問,用戶域內(nèi)訪問時,通過單點登錄系統(tǒng)只能獲取到可以訪問的應用,但是無法對用戶的應用訪問權(quán)限的細粒度進行約束。
域內(nèi)單點登錄子系統(tǒng)用戶域內(nèi)訪問,使用單點登錄為應用系統(tǒng)配置的client端,對用于用戶的請求進行攔截,在根據(jù)用戶票據(jù)中的權(quán)限信息進行比對,對于符合權(quán)限信息的請求進行放行,總而,達到對于用戶訪問權(quán)限的控制。
用戶管理子系統(tǒng)主要對于用戶在域內(nèi)的應用訪問權(quán)限進行分配。
該課題采用了跨域訪問中心的創(chuàng)建,將多級域的域內(nèi)認證中提升到了多級域之間的統(tǒng)一跨域認證。克服了原有需要通過多個子域訪問各自擁有的應用,通過統(tǒng)一認證源的整合,將多級域的入口整合到了一起,變得更為高效,節(jié)省了用戶訪問多級域的時間,認證效率。
4.2 跨域單點登錄流程設計
(1)在分布部署域內(nèi)單點登錄系統(tǒng)時,分別錄入用戶數(shù)據(jù),錄入的用戶數(shù)據(jù)需要以用戶的身份證號為唯一標識信息,這樣便于在將用戶數(shù)據(jù)同步到跨域訪問中心時,提供可依據(jù)的用戶映射關(guān)系。
(2)為分布的域內(nèi)單點登錄系統(tǒng),由域內(nèi)管理員申請該域單點登錄系統(tǒng)的SSOID,便于在提供數(shù)據(jù)訪問、數(shù)據(jù)同步過程中,表示用戶數(shù)據(jù)的來源,域內(nèi)單點登錄系統(tǒng)的描述信息。
(3)由域內(nèi)管理員將域內(nèi)單點登錄系統(tǒng)的用戶數(shù)據(jù)進行數(shù)據(jù)同步,并且由跨域訪問中心提供的數(shù)據(jù)接口進行接收,處理用戶數(shù)據(jù)映射關(guān)系。
(4)在域內(nèi)的單點登錄控制中心,將域內(nèi)的認證模式由域內(nèi)認證設置為跨域單點登錄。
用戶可以通過域內(nèi)單點登錄入口進行跨域訪問,首次返回用戶可以訪問的域列表,再次選擇域列表則可以返回用戶可訪問的應用列表。
4.3 跨域認證流程
4.3.1 跨域登錄方式
用戶有兩種跨域登錄方式:域登錄全域訪問和客戶端登錄全域訪問。
域登錄:用戶登錄任何一個域SSO認證成功,域SSO將展示本域和其他域可訪問的應用資源訪問列表,提供用戶進行已授權(quán)的訪問。
客戶端登錄:用戶通過客戶端登錄,在客戶端應用列表中列出該用戶可訪問的所有域的應用資源訪問列表。用戶點擊應用資源,客戶端瀏覽器打開該域應用系統(tǒng)界面提供用戶進入該系統(tǒng)進行訪問。
4.3.2 跨域認證注冊流程
在平臺層使用用戶唯一標識表示賬號ID-域內(nèi)用戶信息映射進行管理,其中域內(nèi)用戶信息由跨域訪問中心與域內(nèi)用戶管理系統(tǒng)進行同步數(shù)據(jù)管理。各個應用層權(quán)限由各個子域負責管理分配,如圖2所示。
4.3.3 跨域認證服務流程
跨域認證服務各域在認證服務遵循先到跨域認證服務中進行用戶的認證,讀取用戶相關(guān)跨域信息;如果跨域服務中跨域信息未作其他域的關(guān)聯(lián)或者網(wǎng)絡不通等原因未有跨域的信息,域內(nèi)的認證服務將進行域內(nèi)的用戶認證和權(quán)限認證讀取。
4.4 服務流程
(1)用戶通過跨域認證,可以在任何一個域的SSO進行登錄,就可以看到該用戶的所授權(quán)的所有域的訪問列表。
(2)用戶在域內(nèi)SSO登錄時,域內(nèi)SSO將首先調(diào)用跨域認證管理的認證服務,并將該用戶的所有已授權(quán)的域訪問列表返回。
(3)用戶選擇需要訪問的子域,跨域訪問中心帶領用戶去子域進行驗證,當子域驗證用戶已經(jīng)跨域登陸成功后,頒發(fā)子域的憑證信息,并且返回用戶子域的應用列表。
用戶選擇需要訪問的應用列表,子域SSO代理用戶訪問應用,驗證子域憑證的有效性后,便返回應用信息。
5 結(jié)語
該課題對單點登錄客戶端的優(yōu)化,采用了過濾器攔截請求內(nèi)容與票據(jù)進行比對,控制了用戶訪問應用的顆粒度??朔嗽袉吸c登錄只能控制到訪問應用這一層的問題。帶來了對于用戶、應用權(quán)限管理更加仔細的操作。
參考文獻
[1] 周曉斌,董瑞陽.電子政務信息安全十大問題[N].計算機世界, 2009-06-29.
[2] 唐珂.淺談我國電子政務建設及信息安全管理問題[J].檔案學研究,2004(6):38-47.
[3] 劉邦凡.論基于云計算的電子政務信息安全[J].電子商務,2013(11):32-33.
[4] 孫雷.電子政務信息安全和管理[J].應用能源技術(shù),2009(10):42-44.