曾喻
摘? ?要:隨著核電信息化程度越來越高,經(jīng)過近幾年持續(xù)建設(shè),已基本建立了覆蓋公司主要業(yè)務(wù)領(lǐng)域的信息系統(tǒng),給企業(yè)的業(yè)務(wù)開展提供了大力支持。但與此同時(shí),由于各業(yè)務(wù)系統(tǒng)分步實(shí)施,系統(tǒng)功能又相對(duì)獨(dú)立,由于缺少基礎(chǔ)技術(shù)組件的支撐,各系統(tǒng)平臺(tái)都建立了單獨(dú)的用戶認(rèn)證機(jī)制。隨著系統(tǒng)越來越多,最終用戶在訪問不同系統(tǒng)時(shí),都需要重新進(jìn)行身份認(rèn)證,需要輸入不同的帳號(hào)和口令,不僅不方便,容易遺忘,還存在安全隱患。因此要建立統(tǒng)一認(rèn)證平臺(tái),將各個(gè)系統(tǒng)的認(rèn)證方式進(jìn)行統(tǒng)一,使得員工通過統(tǒng)一的入口,訪問各個(gè)系統(tǒng),大大提高員工的工作效率。
關(guān)鍵詞:CAS? SAP PORTAL? 統(tǒng)一認(rèn)證
中圖分類號(hào):TP315? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? ? ? 文章編號(hào):1674-098X(2019)05(b)-0008-02
近年來,江蘇核電有限公司高度重視信息化建設(shè),經(jīng)過近幾年持續(xù)建設(shè),已基本建立了覆蓋公司主要業(yè)務(wù)領(lǐng)域的信息系統(tǒng),給公司業(yè)務(wù)開展提供了大力支持。但與此同時(shí),由于各業(yè)務(wù)系統(tǒng)分步實(shí)施,系統(tǒng)功能又相對(duì)獨(dú)立,由于缺少基礎(chǔ)技術(shù)組件的支撐,各系統(tǒng)平臺(tái)都需要單獨(dú)的用戶認(rèn)證,認(rèn)證的機(jī)制也存在差異。用戶在訪問不同系統(tǒng)時(shí),都需要重新進(jìn)行身份認(rèn)證,需要輸入不同的帳號(hào)和口令,不僅不方便,容易遺忘,還存在安全隱患。因此要建立統(tǒng)一認(rèn)證平臺(tái),將各個(gè)系統(tǒng)的認(rèn)證方式進(jìn)行統(tǒng)一,使得員工通過統(tǒng)一的入口,訪問各個(gè)系統(tǒng),大大提高員工的工作效率。
1? 項(xiàng)目選型、設(shè)計(jì)及實(shí)現(xiàn)
1.1 建設(shè)目標(biāo)
建立基于公司AD域的統(tǒng)一認(rèn)證平臺(tái),使用登錄票(Logon Ticket)或用戶映射(User Mapping)方式為多個(gè)信息系統(tǒng)實(shí)現(xiàn)統(tǒng)一身份認(rèn)證,主要包括:
單點(diǎn)登陸:用戶以統(tǒng)一門戶作為單一的登錄入口,訪問其它應(yīng)用系統(tǒng)平臺(tái)或業(yè)務(wù)功能。
單點(diǎn)注銷:通過單一的退出操作,自動(dòng)關(guān)閉已建立與后端多個(gè)應(yīng)用系統(tǒng)服務(wù)器的會(huì)話連接,提高用戶訪問應(yīng)系統(tǒng)的安全性。
會(huì)話管理:定義登陸后用戶瀏覽器與身份認(rèn)證服務(wù)之間連接的有效時(shí)長(zhǎng),可以配置相關(guān)管理規(guī)則,對(duì)“被保護(hù)資源”的使用進(jìn)行強(qiáng)制重新認(rèn)證。
帳號(hào)審計(jì):根據(jù)審計(jì)需要,提供審計(jì)報(bào)表查詢功能。操作日志:賬號(hào)管理、賬號(hào)映射管理和賬號(hào)同步管理的所有操作,都需寫入操作日志,并提供日志監(jiān)控功能。
1.2 項(xiàng)目需求及現(xiàn)狀分析
1.2.1 系統(tǒng)認(rèn)證現(xiàn)狀分析
分析江蘇核電有限公司系統(tǒng)用戶認(rèn)證的現(xiàn)狀,江蘇核電認(rèn)證方式主要有基于CAS的認(rèn)證、基于SAP PORTAL的認(rèn)證、系統(tǒng)自開發(fā)的認(rèn)證。認(rèn)證用戶源主要包括AD域用戶源、SAP ECC用戶源、內(nèi)部網(wǎng)員工薪資系統(tǒng)用戶源及系統(tǒng)自開發(fā)的用戶源。
1.3 統(tǒng)一認(rèn)證平臺(tái)選型分析
通過現(xiàn)狀分析可以看出可選用的統(tǒng)一認(rèn)證平臺(tái)的實(shí)現(xiàn)方式分為兩種:(1)基于SAP PORTAL登錄票的單點(diǎn)登錄;(2)基于認(rèn)證系統(tǒng)(CAS)的單點(diǎn)登錄。因?yàn)閱吸c(diǎn)登錄(SSO)的安全性問題比普通應(yīng)用的安全性還要嚴(yán)重,所以首先從兩種登錄方式的安全性角度入手進(jìn)行分析。
基于SAP PORTAL登錄票的單點(diǎn)登錄安全性分析。
(1)當(dāng)web工程使用SAP登錄票進(jìn)行身份認(rèn)證時(shí),用戶的登錄票以非永久性cookie的方式存儲(chǔ)在用戶的web瀏覽器中,因此,在使用SSL(https)協(xié)議進(jìn)行傳輸過程中,開發(fā)時(shí)需要保護(hù)登錄票不被破壞或竊取。
(2)需標(biāo)記登錄票為安全的cookie,只有在在ssl(https)協(xié)議下,客戶端瀏覽器才發(fā)送cookie,可以通過設(shè)置UME參數(shù)ume.logon.security.enforce_secure_cookie=true來實(shí)現(xiàn)。
(3)為了減少惡意用戶使用登錄票重復(fù)攻擊,建議減少登錄票的有效期,系統(tǒng)默認(rèn)為8h,可以通過設(shè)置參數(shù)ume.admin.login.ticket_lifetime進(jìn)行調(diào)整,這個(gè)調(diào)整需要重啟服務(wù),所以在更改此參數(shù)前,應(yīng)做好規(guī)劃。
基于認(rèn)證系統(tǒng)(CAS)的單點(diǎn)登錄的安全性分析。
(1)CAS認(rèn)證包含兩部分:CAS Server和CAS Client。CAS Server負(fù)責(zé)完成對(duì)用戶的認(rèn)證工作,CAS Client負(fù)責(zé)部署在客戶端,當(dāng)有對(duì)本地 Web 應(yīng)用的受保護(hù)資源的訪問請(qǐng)求,并且需要對(duì)請(qǐng)求方進(jìn)行身份認(rèn)證,Web應(yīng)用不再接受任何的用戶名密碼等類似的 Credentials,而是重定向到CAS Server進(jìn)行認(rèn)證。
(2)TGC(cookie)的安全性:CAS通過SSL協(xié)議發(fā)送到客戶端,信息被竊取難度非常大,確保CAS的安全性;指定TGC的有效期。
(3)CAS的Service Ticket只能使用一次,CAS協(xié)議規(guī)定,無論Service Ticket驗(yàn)證是否成功,CAS Server都會(huì)將服務(wù)端的緩存中清除該Ticket,從而可以確保一個(gè)Service Ticket 被使用兩次。
(4)Service Ticket隨機(jī)生成,且在一段時(shí)間內(nèi)失效, 相關(guān)參數(shù)可以通過在web.xml中進(jìn)行配置。
所以就兩種登錄方式的安全性而言,基于認(rèn)證系統(tǒng)(CAS)的單點(diǎn)登錄安全性要高于基于SAP PORTAL登錄票的單點(diǎn)登錄,項(xiàng)目決定使用CAS作為統(tǒng)一認(rèn)證平臺(tái)。
1.4 統(tǒng)一認(rèn)證的技術(shù)實(shí)現(xiàn)及難點(diǎn)
整個(gè)設(shè)計(jì)思路分為4部分,CAS與SAP PORTAL的集成,CAS與JAVA類系統(tǒng)的集成,CAS與.net類系統(tǒng)的集成,CAS與MDM及ECM等平臺(tái)系統(tǒng)集成,用戶源方面則選用最大用戶源AD域作為用戶源,以員工號(hào)做為唯一的ID號(hào)。
基于CAS與JAVA類系統(tǒng)的集成,CAS與.net類系統(tǒng)的集成均有標(biāo)準(zhǔn)的接口規(guī)范,CAS與 ECM及主數(shù)據(jù)系統(tǒng)已經(jīng)實(shí)現(xiàn)了集成,而SAP PORTAL使用自己的認(rèn)證方式,如何實(shí)現(xiàn)SAP PORTAL與CAS兩種認(rèn)證方式之間的互信成為整個(gè)項(xiàng)目技術(shù)難點(diǎn)。
首先要解決SAP Portal的CAS認(rèn)證。為了保證SAP Portal的版本的統(tǒng)一,我們不能直接在SAP Portal中部署CAS Client(需要修改標(biāo)準(zhǔn)組件),所以,我們?cè)黾右粋€(gè)CAS認(rèn)證組件來部署CAS Client,用于實(shí)現(xiàn)CAS Server的認(rèn)證,獲取CAS當(dāng)前登錄賬號(hào)信息。如何讓SAP Portal信任CAS認(rèn)證組件獲取的CAS登錄賬號(hào),需要在SAP Portal的認(rèn)證組件中增加一個(gè)CAS登錄模塊,用于認(rèn)證CAS認(rèn)證組件獲取的CAS登錄賬號(hào)。通過CAS登錄模塊登陸到SAP Portal后,需要一個(gè)頁面重定向到SAP PORTAL。我們?cè)贙M中增加了一個(gè)重定向到SAP PORTAL的html(KM內(nèi)容默認(rèn)支持SAP Portal認(rèn)證)。
關(guān)于單點(diǎn)登出的實(shí)現(xiàn):用戶點(diǎn)擊登出,注銷SAP Portal會(huì)話,重定向到CAS認(rèn)證組件的登出頁面,CAS認(rèn)證組件的登出頁面,清除CAS Session,并重定向到CAS Server的登出頁面。
綜上所述,通過在SAP Portal新增CAS Login Module組件及KM中增加了一個(gè)重定向到SAP PORTAL的html方式,實(shí)現(xiàn)了SAP Portal與CAS之前的互信。
2? 結(jié)語
借助CAS認(rèn)證系統(tǒng)作為統(tǒng)一認(rèn)證平臺(tái),以AD作為唯一的用戶源,統(tǒng)一了各個(gè)系統(tǒng)用戶認(rèn)證方式,大大減輕了用戶運(yùn)維的難度和新系統(tǒng)的接入成本。對(duì)用戶而言,用戶可以通過單一的登錄頁面訪問各個(gè)系統(tǒng)處理工作任務(wù),有效地促進(jìn)應(yīng)用系統(tǒng)內(nèi)部資源有機(jī)的協(xié)同與統(tǒng)一,滿足公司精細(xì)化管理的需要。
參考文獻(xiàn)
[1] 張建偉.基于統(tǒng)一身份認(rèn)證平臺(tái)的局域網(wǎng)安全設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2019,29(1):124-129.
[2] 王強(qiáng).文獻(xiàn)共享平臺(tái)中統(tǒng)一認(rèn)證技術(shù)研究與實(shí)現(xiàn)[J].軟件,2018,39(11):202-206.
[3] 陳興伯,林宗祥,張?jiān)砌?基于數(shù)字化校園的統(tǒng)一認(rèn)證平臺(tái)需求分析設(shè)計(jì)[J].信息通信,2018(9):133-134.