賀建榮 劉明昌 王歡
摘 ?要:基于企業對信息化的需求越來越多,神東煤炭集團開發了全面的信息系統供不同業務板塊使用,各系統統一身份認證互通成為各大業務系統需要解決的問題,為減少用戶記錄各系統的不同密碼與賬號的麻煩,解決因系統較多給用戶及企業管理帶來的不便。神東研發人員就神東業務系統的現狀,結合當前信息化發展的趨勢,以及CAS單點開源系統特點,基于原系統設計開發出了一套符合神東信息整體規劃與適應未來業務發展的新的統一身份認證與管理平臺。通過此平臺可以解決記密碼難的問題,認證安全問題,多平臺集中登錄問題,同時增加日志審計模塊便于更好的實現信息審計,為神東煤炭信息化高速公路奠定基礎,為煤炭行業信息化集成提供解決方案。
關鍵詞:統一身份;單點認證;CAS
中圖分類號:TP315 文獻標志碼:A ? ? ? ? 文章編號:2095-2945(2020)31-0068-03
Abstract: Based on the increasing demand of enterprises for information technology, Shendong Coal Group Corporation has developed a lot of information systems for different business sections. The unified identity authentication and intercommunication of each system has become a problem that needs to be solved by the major business systems. In order to reduce the trouble of users recording different passwords and accounts of each system and deal withthe inconvenience brought by more systems to user and enterprise management,researchers of Shendong Coal Group Corporation analyzed the current situation of their corporationand based their research on the current trend of information development, thecharacteristics ofthe CAS Single Sign On source system, and the original system,thereby designed and developeda new unified identity authentication and management platform which conforms to the overall planning of Shendong Coal Group Corporation and adapts to the future business development. Through this platform, the problems of password recording, authentication security, and the centralized login of different platforms were solved. Meanwhile, the log audit module is added to facilitate the better implementation of information audit,thus laying the foundation for ShendongCoal Group Corporation and providing solutions for coal industry information integration
Keywords: unified identity; Single Sign On; CAS
1 概述
原神東統一身份認證平臺僅支持WEB端的賬號密碼登錄,用戶需要記住賬號密碼,原系統賬號密碼未設置高安全級別規則。隨著移動應用的普及應用,原認證系統無法實現手機APP與WEB端通過統一平臺認證,原認證平臺已無法滿足當前企業信息化發展以及企業信息系統的整體規劃需要。由于原身份認證的技術是CAS,為方便老系統無縫集成,本系統也基于CAS實現神東統一身份認證,解決原有系統存在的問題以及適應新的信息化發展要求,助力企業信息化整體的發展,保障信息系統身份認證的安全與可靠。
2 需求說明
2.1 支持多種身份認證
神東作為大型煤炭企業,近4萬員工,需要通過信息平臺進行業務處理,需要通過統一身份認證平臺解決信息系統的身份認證問題,神東統一身份認證平臺需求是實現PC端、移動端、企業微信平臺身份認證系統集中統一,根據平臺特點實現用戶賬號/身份證號/員工編碼與密碼登錄、手機APP/企業微信掃碼登錄、短信驗證碼登錄、企業微信平臺鑒權登錄等多種認證模式,簡化認證流程,多平臺身份認證互通,最大化支持多種認證模式,便于用戶訪問多個應用系統。
2.2 支持移動APP與H5身份認證合并
通過平臺能使得APP認證后原生應用與H5應用身份認證統一,便于多端、跨平臺的應用合并,解決移動端身份認證難題。
3 系統架構設計
3.1 CAS工作原理
CAS(Central Authentication Service)是由耶魯大學發起的一個企業級的、開源的項目,為WEB應用提供可信任的身份單點認證服務。
TGT:TGT是CAS為用戶簽發的登錄票據,擁有了TGT,用戶就可以證明自己在CAS成功登錄過。
TGC:存放用戶身份認證憑證的cookie,在瀏覽器和CAS Server間通訊時使用,并且只能基于安全通道傳輸Https),是CAS Server用來明確用戶身份的憑證。
ST:客戶端應用的憑證,不可重復,時效短。
認證過程:
(1)用戶訪問A系統資源,判斷無會話被CAS客戶端攔截,并重定向到CAS服務器,檢查無TGT則返回登錄頁面,并與server和ticket拼接成url返回等待用戶登錄。(2)用戶輸入登錄信息后提交,服務器接收驗證是否有效,有效后返回重定向到server后A資源地址,并設置CAS服務器域cookies的TGC,A系統帶著ticket與CAS服務器驗證票是否有效,有效后綁定會話與用戶信息,再次訪問A系統則可以正常訪問。(3)上述通過后在B系統資源時,判斷會話不存在重定向到單點登錄地址,判斷存在TGC,攜帶到服務器認證,判斷用戶登錄過了,則不需要再次登錄即可訪問B系統資源。
3.2 系統架構設計
原有的系統實現認證方式單一不靈活,隨著更安全高效的認證模式的發展以及認證途徑的多樣化,本系統架構在原有的基礎上進行了優化與升級,方便快速構建新的認證方式,基于SOA架構設計,采用java語言開發,使用關系數據庫及緩存技術實現,通過身份認證模塊接口實現多種不同方式的身份認證,滿足適合本企業個性化的認證需求,最終通過CAS實現統一身份認證。系統數據層通過緩存技術實現數據層的訪問與校驗,提升認證速度,優化用戶體驗,提高系統訪問并發量,實現大負載高可用。
4 系統功能設計
系統功能主要是基于CAS認證中心,通過接口開發的獨立的神東身份認證模塊,此模塊可根據需要集成當前流行的各種認證方式,具有較好的擴展性,后期用戶開發時勿須研究復雜的CAS認證過程,只需要基于神東身份認證模塊開發新的認證接口即可。本系統將結合企業自身特點,以及用戶使用信息系統的習慣,實現如下幾個功能模塊。
4.1 賬號密碼認證
基于傳統的身份認證方式,為了更好的與舊系統過渡,保留原普通賬號密碼認證方式,同時提高密碼強度校驗規則,對于弱口令用戶強制按新密碼規則修改,密碼規則包含大小寫字母、數字、特殊字符。長度不少于8位。
4.2 企業微信掃碼認證
通過企業微信用戶掃描二維碼,通過企業微信用戶信息與二維碼token信息進行綁定,后臺校驗用戶身份,實現企業微信掃碼后系統自動登錄功能。該功能的實現,將免除用戶在瀏覽器中輸入賬號密碼,減少賬號密碼被盜的風險提高了用戶認證的安全性,因企業微信的安全可靠性,用戶經常使用企業微信后,將不需要再記住大量的賬號與密碼,解決用戶登錄應用系統的煩惱。
4.3 移動APP掃碼認證
自動生成二維碼,二維碼設置2分鐘有效期,超時后重新生成,二維碼由系統隨機生成,系統通過代碼實現判斷是否掃碼并確認登錄,如確認登錄,則系統自動登錄認證并綁定用戶信息。
移動APP掃碼功能同企業微信掃碼功能類似,是基于自建APP掃碼實現,該功能也是通過統一身份認證平臺身份認證,通過APP掃碼實現WEB端免密的登錄認證方式,此種方式將采用token交換的方式解決登錄認證的安全性。
4.4 移動APP通過企業微信認證
神東自建移動APP登錄認證方式除了支持傳統的賬號密碼登錄方式,還支持通過企業微信的sdk一鍵登錄,企業微信為企業內部的溝通工具,認證機制很安全,移動APP基于企業微信一鍵登錄,實現APP端用戶身份認證。此功能不需要記住任何用戶名密碼即可實現認證,后臺通過統一的身份鑒權模塊,最終實現單點統一認證,認證成功后,再次進入APP后將不再需要登錄,通過靜默登錄功能實現免登錄。
4.5 短信驗證碼掃碼認證
短信驗證是當前較流行的簡單認證方式,通過短信接口實現短信驗證碼的發送,設置短信驗證碼的有效期為1分鐘,可多次發送驗證碼,為確保短信驗證安全,后臺會發送驗證token至客戶端,需要客戶提交登錄時發送到后臺進行token校驗,為確保安全,驗證碼指定有效期,過期后不能通過認證。移動端短信驗證通過一鍵獲取手機號的方式,驗證用戶信息,驗證手機號用戶狀態,通過后自動發送短信驗證碼,為了便于用戶填寫驗證碼,系統支持剪切板自動錄入短信驗證碼,實現用戶快速登錄的目標,此功能極大提高了用戶認證的速度,提高了用戶體驗。
4.6 十天免登錄
十天免登錄功能基于用戶經常訪問系統時每次需要輸入登錄信息很浪費時間,為了滿足登錄設備相對固定,安全意識強的用戶需要,針對部分用戶單獨授權實現十天免登錄,通過勾選免登錄選項,實現十天免登錄,后期訪問系統直接認證通過,后臺記錄登錄人ip信息與token驗證信息,確保免登錄用戶信息不被偽造。免登錄信息在新的電腦登錄后,舊的電腦將不能自動免登錄,有效保證用戶登錄信息安全,不被非法用戶使用。
4.7 登錄審計日志
記錄用戶的登錄認證方式,登錄成功與否,登錄用戶的客戶端信息如瀏覽器、分辨率、操作系統等信息,便于分析用戶登錄數據,以便更好的優化升級系統。
為確保統一身份認證平臺的安全,系統對登錄異常信息進行分析。對于錯誤次數超過規定次數的訪問做拒絕處理。
4.8 移動APP靜默登錄認證功能
移動端用戶第一次認證通過后,后期用戶使用APP時,不再需要輸入驗證信息進行身份認證。系統基于綁定用戶設備信息以及有效期內的token信息共同識別后臺綁定的用戶信息,通過統一身份認證平臺后臺實現靜默身份認證,不需要用戶進行任何操作即可實現身份鑒權的目標。系統不僅有效解決了移動端原身份驗證不能通過單點認證的問題,而且解決了移動端webview應用與移動端原生應用共用一套身份證驗證信息,避免多平臺使用多次認證的麻煩,解決不同平臺系統集成的難題,實現一平臺多架構的認證機制,降低了神東移動業務集成難度。
4.9 密碼找回、修改功能
統一身份認證平臺不僅支持用戶登錄認證,同時支持用戶通過短信驗證碼找回密碼與修改密碼。實現用戶密碼統一管理,弱口令密碼強制用戶提升安全級別。
5 系統部署
系統部署一套CAS認證服務器,統一管理一套組織機構、用戶名與密碼信息,通過緩存實現賬號登錄驗證,提高了登錄認證的速度,為了便于各子系統集成,統一用戶組織機構與用戶信息,提供子系統用戶信息集成接口,統一維護機構與用戶信息,減少多點維護造成的時間浪費與數據不準確的問題,使用一整套組織、人員數據,使統一身份認證信息統一可靠。
6 結束語
神東新統一身份認證系統可以實現神東各業務系統一處登錄,多處漫游訪問,使用基于賬號密碼、短信驗證碼、企業微信掃碼、移動APP掃碼等認證方式解決多點的身份認證問題,不再需要記錄很多用戶名密碼,甚至不需要知道用戶名密碼即可實現身份的鑒權,解決了用戶登錄系統的麻煩。為了平臺能便于集成各大應用系統,使信息化系統的更好實施與落地,本系統采用較通用的認證解決方案,適用于企業各大信息系統的統一身份認證的需要。
新的身份認證系統上線后,經測試,能與現使用的企業微信平臺充分結合,擴寬了身份認證方式,實現了需求目標。為了便于實現不同平臺的多渠道認證,進一步加強了系統接口的擴展能力,有效解決了不同客戶端使用同一認證方式的難題。未來將根據企業信息化發展需要不斷集成新的客戶端,真正實現一站式集中認證,有效解決企業信息化發展的瓶頸,降低信息化項目實施成本。
參考文獻:
[1]沈杰,朱程榮.基于Yale-CAS的單點登錄的設計與實現[J].計算機技術與發展,2007(12):144-146.
[2]蘇國輝.基于CAS和LDAP的單點登錄系統設計與實現[J].自動化與儀器儀表,2017(010):101-103.
[3]孫甲泉.基于LDAP的CAS的校園統一身份認證系統的研究[J].電腦知識與技術,2013(2X):1318-1320.
[4]王崢.基于CAS構建門戶平臺的單點認證模型[D].北京大學,2008.
[5]王興建,陳平,田小萍.基于微信企業號的掃碼認證授權的設計與實現[A].中國計算機用戶協會網絡應用分會.中國計算機用戶協會網絡應用分會2018年第二十二屆網絡新技術與應用年會論文集[C].中國計算機用戶協會網絡應用分會:北京聯合大學北京市信息服務工程重點實驗室,2018:4.
[6]譚立球,費耀平,李建華.企業信息門戶單點登錄系統的實現[J].計算機工程,2005,31(17):102-104.
[7]秦怡,馬自衛.基于CAS模式的統一認證與門戶管理的研究與實現[J].現代圖書情報技術,2008(12):1-7.
[8]王水霞.神東業務協同平臺設計與實現[J].陜西煤炭,2013,32(002):49-51.
[9]張倩.基于SOA架構的企業應用集成的設計和實現[D].北京交通大學,2008.
[10]廖露陽,郭兵.基于Android APP安全登錄認證解決方案[J].現代計算機,2016(12):9-12.
[11]景民昌,唐弟官.開放源碼的CAS單點登錄系統研究[J].現代情報,2009,29(003):125-127.
[12]張冬冬.基于CAS實現的單點登錄模型的改進及其應用[D].吉林大學,2011.