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