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