◆許杏 朱朝陽 廖舒航
(廣西大學(xué)信息網(wǎng)絡(luò)中心 廣西 530004)
隨著數(shù)字化校園建設(shè)的推進,國內(nèi)大部分高校建設(shè)了校園統(tǒng)一身份認證平臺并完成了主要業(yè)務(wù)系統(tǒng)的統(tǒng)一身份認證對接。但隨著信息化技術(shù)飛速發(fā)展,傳統(tǒng)認證平臺暴露出諸多問題,如安全性降低,訪問管理不夠靈活等,已經(jīng)不能滿足最新的需求[1]。
統(tǒng)一身份認證技術(shù)經(jīng)過了Cookie、CAS(Central Authentication Service,中央認證服務(wù))、OAuth(Open Authorization,開放授權(quán))等認證模式。
Cookie認證方式最早由網(wǎng)景公司前雇員Lou Montulli于1993年提出[1]。Cookie認證要求各服務(wù)器具備統(tǒng)一的域名,將證書存儲在客戶端的cookie中,因此安全性、穩(wěn)定性較高,但Cookie認證無法實現(xiàn)跨域登錄。
CAS是耶魯大學(xué)發(fā)起的解決單點登錄問題的開源項目[2]。CAS包含兩部分:(1)CAS服務(wù)器端,負責(zé)完成對用戶的登錄認證、用戶退出注銷、票據(jù)的生成、校驗及過期票據(jù)的銷毀等工作。(2)CAS客戶端,主要部署在各種業(yè)務(wù)應(yīng)用系統(tǒng)中,通過嵌入CAS提供的接口,將業(yè)務(wù)系統(tǒng)的認證重定向到CAS服務(wù)器進行認證。趙侃侃[3]等人通過修改和增加客戶端插件和前端插件,既能支持前后端分離開發(fā)部署的Web應(yīng)用,也能支持前后端集中開發(fā)部署的Web應(yīng)用的單點登錄功能。在CAS協(xié)議,所有與CAS交互均采用SSL協(xié)議,以確保票據(jù)和TGC(Ticket Granted Cookie)的安全。整個協(xié)議的工作過程涉及2次重定向,但進行Ticket驗證的過程對于用戶是透明的[4]。
與CAS協(xié)議相比,OAuth協(xié)議的授權(quán)使第三方無需使用用戶的用戶名與密碼就可以申請獲得該用戶資源的授權(quán),為用戶資源的授權(quán)提供了安全、開放的標準,近年來在實際場景中廣泛使用。高保忠[5]等人以智慧校園建設(shè)為切入點,基于OAuth2.0協(xié)議設(shè)計并實現(xiàn)智慧校園認證系統(tǒng),通過理論分析和流程實驗對系統(tǒng)進行測試,改善了校園數(shù)據(jù)獲取的安全性和可靠性。胡貞華[6]等人建設(shè)基于OAuth2.0協(xié)議的統(tǒng)一身份認證平臺,集成開放平臺的賬號登錄,實現(xiàn)校內(nèi)外各個業(yè)務(wù)系統(tǒng)的統(tǒng)一認證。李強[7]整合銀行內(nèi)部現(xiàn)有應(yīng)用系統(tǒng)的用戶登錄認證,規(guī)范新應(yīng)用系統(tǒng)的開發(fā),為銀行帶來跨系統(tǒng)單點登錄、第三方授權(quán)等基礎(chǔ)能力。姜家濤[8]等人針對Fast數(shù)據(jù)管理平臺管理存在的多信息系統(tǒng)狀況,設(shè)計統(tǒng)一身份認證系統(tǒng)架構(gòu),并采用Identity Server4構(gòu)建統(tǒng)一認證中心,完成各類軟件的統(tǒng)一身份認證接入。孫新江[9]詳細闡述了一種跨認證的應(yīng)用設(shè)計與實現(xiàn),基于OAuth接口的雙認證系統(tǒng)的互相印證流程,實現(xiàn)了多套認證系統(tǒng)的不同賬號體系統(tǒng)一管理,但是沒有實現(xiàn)統(tǒng)一的用戶注銷、用戶禁用以及不同應(yīng)用系統(tǒng)個性化用戶管理。
統(tǒng)一身份認證平臺除了認證協(xié)議上的安全,更是一個基礎(chǔ)的應(yīng)用平臺,需要從網(wǎng)絡(luò)、軟件、功能、管理等方面全方位保障認證系統(tǒng)的安全性、易用性。本研究將介紹某高?;贠Auth2.0的統(tǒng)一身份認證平臺安全防護升級的總體設(shè)計和實施,并針對一些實際問題進行介紹與分析。
以建設(shè)適應(yīng)新技術(shù)標準和安全可靠的統(tǒng)一身份認證系統(tǒng)為目標,升級后的認證系統(tǒng)支持跨域認證、互聯(lián)網(wǎng)認證,支持雙重認證、臨時認證、限制認證等多種認證策略,支持OAuth2.0協(xié)議和規(guī)范;加強對接入系統(tǒng)的管理,提供統(tǒng)一接入服務(wù);完善優(yōu)化多重身份的用戶數(shù)據(jù)管理,對用戶實現(xiàn)角色、分權(quán)限管理和授權(quán);建立完善的系統(tǒng)監(jiān)控、預(yù)警和審計體系,提高系統(tǒng)的穩(wěn)定性、可用性和安全性;優(yōu)化用戶體驗,提供通過多種途徑自動找回密碼的功能;解決多終端支持、瀏覽器兼容等問題。
統(tǒng)一身份認證平臺包括以下模塊:統(tǒng)一接入及認證子模塊、用戶和授權(quán)管理子模塊、個人自助服務(wù)子模塊、安全監(jiān)控與審計子模塊。系統(tǒng)框架圖如圖1所示。
圖1 統(tǒng)一身份認證平臺框架圖
提供中心認證、單點登錄服務(wù)。要求支持手機動態(tài)密碼、郵箱認證、別名認證、互聯(lián)網(wǎng)應(yīng)用賬號(QQ、微信)等多種主流登錄方式。
接受各類應(yīng)用的接入申請,提供在線的接入業(yè)務(wù)辦理和接入技術(shù)支持,提供對所有接入應(yīng)用的統(tǒng)一管理功能。
管理所有用戶的身份信息、角色權(quán)限,對用戶數(shù)據(jù)進行查詢統(tǒng)計等。嚴格把控不同用戶的身份信息利于有效開展權(quán)限控制、實現(xiàn)用戶全生命周期管理。
實現(xiàn)個人安全設(shè)置、找回密碼、查詢登錄日志、激活賬號、設(shè)置關(guān)聯(lián)賬號等。提供給所有用戶修改密碼、密碼找回、信息查詢、密保手機、密保郵箱、別名登錄、日志查詢等個人自助服務(wù)。
采用主流的架構(gòu),確保服務(wù)器、存儲、數(shù)據(jù)等安全,數(shù)據(jù)維護和備份。可實時監(jiān)控認證服務(wù)器、緩存服務(wù)器、LDAP目錄存儲等服務(wù)器的運行及負載情況,異常情況發(fā)出告警。
根據(jù)相關(guān)法律、法規(guī)和技術(shù)標準,對統(tǒng)一身份認證安全升級進行頂層設(shè)計,依據(jù)不同需求合理劃分安全模塊和等級。在考慮功能需求的同時,考慮網(wǎng)絡(luò)和系統(tǒng)安全需求,注重內(nèi)部防御和外部防御相結(jié)合。
(1)認證安全:采用安全主流的認證協(xié)議,支持多種認證方式,避免單一的賬號密碼認證方式導(dǎo)致信息泄露。
(2)身份及權(quán)限安全:能夠靈活地根據(jù)不同角色配置不同系統(tǒng)訪問權(quán)限。
(3)網(wǎng)絡(luò)邊界安全:完善網(wǎng)絡(luò)邊界控制,避免服務(wù)器被惡意訪問、惡意攻擊。
(4)應(yīng)用及數(shù)據(jù)安全:通過應(yīng)用漏洞掃描、漏洞加固等確保應(yīng)用安全,設(shè)置后端全過程訪問記錄、數(shù)據(jù)庫審計、日志審計,數(shù)據(jù)脫敏,確保應(yīng)用和數(shù)據(jù)安全。
(5)管理安全:建立統(tǒng)一身份認證安全管理相關(guān)規(guī)范;規(guī)范用戶認證、角色劃分和權(quán)限分配;管理好應(yīng)用接入。
系統(tǒng)安全架構(gòu)如圖2所示,從物理安全、網(wǎng)絡(luò)安全、系統(tǒng)安全、應(yīng)用安全、數(shù)據(jù)安全等實施安全防護升級。
圖2 統(tǒng)一身份認證安全架構(gòu)圖
(1)認證安全
采用安全、先進的OAuth2.0協(xié)議進行認證。OAuth(Open Authentication,開放授權(quán))是開放的認證協(xié)議,為使用 API 的第三方應(yīng)用提供安全、簡單和標準的認證方式。OAuth的授權(quán)不會使第三方觸及到用戶的賬號信息(如用戶名與密碼),即第三方無需使用用戶的用戶名與密碼就可以申請獲得該用戶資源的授權(quán)。
OAuth2.0共有五種授權(quán)模式,包括:授權(quán)碼模式(Authorization code)、簡化模式(Implicit)、密碼模式(Resource owner password credentials)、客戶端模式(Client credentials)和擴展模式(Extension)[10]。其中,授權(quán)碼模式是五種授權(quán)模式中流程最嚴密、功能最完整的一種。OAuth2.0認證流程如圖3所示。
圖3 OAuth2.0認證流程
①client向資源服務(wù)器發(fā)送授權(quán)請求,包含類型、client ID和重定向URL。
② 資源服務(wù)器同意授權(quán),并返回Authorization Code給用戶代理。
其次,眾創(chuàng)空間的資源整合還需設(shè)計關(guān)鍵資源的杠桿機制,通過現(xiàn)有資源結(jié)構(gòu)的重新組合和調(diào)整,帶動和獲取新的資源,提升創(chuàng)業(yè)項目與資本市場聯(lián)系的緊密性??梢酝ㄟ^眾創(chuàng)平臺向社會募集資金,利用股權(quán)方式吸引投資者的支持,滿足創(chuàng)客的融資需求,形成良好的創(chuàng)業(yè)資源生態(tài)鏈。眾創(chuàng)空間也可借助天使投資以及產(chǎn)業(yè)引導(dǎo)基金的杠桿作用,實現(xiàn)技術(shù)性資源與外部金融資源的高度集成。
③用戶完成授權(quán)后,client使用Authorization Code和重定向URL向認證服務(wù)器請求Access Token。
④ 認證服務(wù)器認證client和Authorization Code有效性。如果client用戶的個人認證和接入權(quán)限通過且有效,client可以得到認證服務(wù)器分發(fā)的Access Token。
⑤ client通過Access Token向資源服務(wù)器請求受保護資源。
⑥ 資源服務(wù)器驗證Access Token的有效性,驗證成功后響應(yīng)資源請求,client獲得權(quán)限通過指定信息端口得到受保護資源。
在OAuth2.0協(xié)議基礎(chǔ)上,建設(shè)的統(tǒng)一身份認證平臺將各個不同異構(gòu)系統(tǒng)的認證工作集中在一起,通過一個公用的認證系統(tǒng)統(tǒng)一管理和驗證用戶身份,不需要再次登錄認證。該認證平臺支持口令、證書、二維碼、手機動態(tài)密碼、互聯(lián)網(wǎng)應(yīng)用賬號等多種認證方式,支持跨域認證、基于OAuth2.0的資源授權(quán)。用戶經(jīng)過統(tǒng)一認證中心認證后可實現(xiàn)認證的漫游、單點登入SSO、單點退出等。
升級后的認證平臺支持用戶通過手機、郵箱等方式找回密碼,減少了電話答疑、人工核對、手動重置密碼的工作。采用多種認證方式、二次認證等策略,保障用戶認證登錄安全。增加新用戶激活功能。新用戶輸入相關(guān)身份證明信息進行身份驗證,驗證通過后通過短信形式將密碼發(fā)送到手機激活賬號,有效避免了賬號密碼泄露和被盜用問題。
(2)邊界安全
統(tǒng)一身份認證平臺作為基礎(chǔ)平臺,軟件設(shè)計達到了三級等保的要求。為保障服務(wù)和數(shù)據(jù)安全,設(shè)計并搭建認證平臺網(wǎng)絡(luò)邊界一體化防護措施如圖4所示,具體包括以下內(nèi)容:
圖4 網(wǎng)絡(luò)邊界防護圖
①采用區(qū)域隔離技術(shù),防止網(wǎng)絡(luò)滲透。部署入侵防御和防病毒系統(tǒng),控制跨域?qū)釉L問并對層間數(shù)據(jù)進行深度過濾。防火墻通過對TCP/IP等協(xié)議數(shù)據(jù)包進行深度分析,過濾對系統(tǒng)資源的惡意訪問,有效阻止未授權(quán)進程在系統(tǒng)中運行。
② 通過WAF服務(wù)器嚴格進行訪問控制。默認認證服務(wù)器全部關(guān)閉,按需開通,只有對接的應(yīng)用服務(wù)器同意才能訪問認證服務(wù)器。
③根據(jù)最小授權(quán)和分權(quán)管理原則,通過VPN權(quán)限管理限定系統(tǒng)維護人員訪問服務(wù)器權(quán)限。維護人員通過VPN和堡壘機進行系統(tǒng)維護,確保所有針對服務(wù)器的操作可管控、可溯源。
④ 為保障服務(wù)不間斷,搭建負載均衡,配置服務(wù)自啟動。
⑤ 通過入侵檢測技術(shù)收集或解析數(shù)據(jù)包信息,經(jīng)過特征分析識別出攻擊行為,針對攻擊過程采取階段性防御策略來阻止攻擊。利用Web資源發(fā)布服務(wù)器進行發(fā)布,對流量和訪問進行監(jiān)控。
通過以上措施,確保服務(wù)和數(shù)據(jù)安全,順利開放外網(wǎng)訪問。
(3)系統(tǒng)安全
記錄詳細的身份認證和訪問日志,在對訪問日志進行集中、關(guān)聯(lián)分析的基礎(chǔ)上,有效地實現(xiàn)系統(tǒng)異常訪問分析、系統(tǒng)違規(guī)訪問分析、違反安全規(guī)程的操作分析、故障事件重建和入侵預(yù)警。
通過合理配置審計規(guī)則,有效地控制智慧校園資源的安全訪問,并在異常發(fā)生時及時發(fā)出警報。系統(tǒng)提供安全訪問控制級別設(shè)定,實現(xiàn)系統(tǒng)訪問安全控制和系統(tǒng)訪問效率的平衡。日志和安全審計框架圖如圖5所示。
圖5 日志和安全審計框架圖
(4)管理安全
根據(jù)信息系統(tǒng)安全“技管”結(jié)合原則,在提升技術(shù)水平的同時提升安全管理水平,避免因為管理不完善導(dǎo)致出現(xiàn)安全漏洞。
①制度支持
制定《統(tǒng)一身份認證接入流程》、《應(yīng)用系統(tǒng)安全運維規(guī)范》等規(guī)章制度,身份管理、權(quán)限分配及所有運維操作嚴格按照規(guī)范執(zhí)行。
② 用戶密碼管理
用戶可修改密碼、密碼找回、信息查詢、設(shè)置密保手機、設(shè)置密保郵箱、日志查詢等個人自助服務(wù)。支持雙因子認證,若更換瀏覽器或者更換電腦登錄需要重新輸入短信驗證碼。
③身份及權(quán)限管理安全
身份及權(quán)限管理是統(tǒng)一身份認證平臺的核心功能,靈活定義角色和群組、集中應(yīng)用授權(quán),嚴格把控不同用戶的身份信息利于有效開展權(quán)限控制。
對在職教職工、在校學(xué)生及臨時訪問人員開展全生命周期管理。a.對于在職教職工和在校學(xué)生,以人事系統(tǒng)、教務(wù)系統(tǒng)、研究生系統(tǒng)作為源數(shù)據(jù),根據(jù)對應(yīng)的身份狀態(tài)啟用和鎖定賬號;b.針對部分編外人員、臨時人員(如校外導(dǎo)師、訪問學(xué)者、博士后、引進人才、留學(xué)生、校友等)的訪問問題,建立了身份數(shù)據(jù)采集平臺,由對應(yīng)業(yè)務(wù)部門進行審核和維護,規(guī)范臨時人員所能訪問的業(yè)務(wù)系統(tǒng)和賬戶有效期限。期限到了系統(tǒng)自動鎖定賬號。減少僵尸賬號、過期賬號帶來的登錄風(fēng)險。
④ 應(yīng)用自動接入
統(tǒng)一身份認證平臺需要對接多個業(yè)務(wù)系統(tǒng)。以前有系統(tǒng)申請接入時,需要反復(fù)對接,發(fā)送對應(yīng)的對接文檔,并配合接入測試。升級后的平臺接受各類應(yīng)用的接入申請,提供在線的接入業(yè)務(wù)辦理和接入技術(shù)支持,提供對所有接入應(yīng)用的統(tǒng)一管理功能。應(yīng)用系統(tǒng)管理員在線填寫接入方的信息及應(yīng)用基本信息、接入配置信息。應(yīng)用審核通過后,會將應(yīng)用接入的口令等信息發(fā)送到接入方的郵箱中,接入方可通過這些參數(shù)進行在線調(diào)試來驗證認證接口和參數(shù)是否正常。統(tǒng)一管理所有接入應(yīng)用系統(tǒng),節(jié)省了管理員大量對接時間。
完成上述安全升級后,某高校多次開展安全測試,包括漏洞掃描、壓力測試、SQL注入測試、自啟動測試等。
通過資源發(fā)布系統(tǒng),可以實時查看用戶訪問量、資源請求時間、后端響應(yīng)時間、入流量統(tǒng)計、出流量統(tǒng)計、錯誤數(shù)統(tǒng)計、HTTP協(xié)議訪問統(tǒng)計、用戶瀏覽器統(tǒng)計、用戶訪問最多頁面統(tǒng)計、訪問頁面最多的IP統(tǒng)計、攻擊最多IP、被攻擊最多URI等。
圖6 資源訪問量
圖7 資源請求時間
圖8 后端響應(yīng)時間
支持學(xué)校每日幾千次常規(guī)認證。通過要求用戶綁定手機和郵箱,提升賬號密碼安全,并且利于用戶自助找回密碼。后續(xù)將繼續(xù)納入更多業(yè)務(wù)系統(tǒng),提升認證平臺使用效率。
表1 不同業(yè)務(wù)系統(tǒng)認證次數(shù)統(tǒng)計
表2 認證總數(shù)統(tǒng)計
本文簡述了某高校統(tǒng)一身份認證平臺一期在實際應(yīng)用中存在的問題,分析了平臺業(yè)務(wù)組成,對網(wǎng)絡(luò)邊界、認證安全、身份管理、權(quán)限控制、日志監(jiān)控等方面進行安全加固,實現(xiàn)了訪問控制,保障了信息安全,使受限資源只有受限用戶才能訪問,解決了多業(yè)務(wù)系統(tǒng)下多種身份、多種認證方式與系統(tǒng)平臺安全之間的矛盾。后續(xù)需要進一步研究:(1)目前系統(tǒng)一通全通,需要進一步做到不同應(yīng)用系統(tǒng)個性化的用戶管理,消除對重要平臺開放的顧慮。(2)采集各類人員信息,將過去分散到各個業(yè)務(wù)系統(tǒng)中的用戶進行集中管理,建立權(quán)威人員數(shù)據(jù)中心。嚴格執(zhí)行采集人員審核制度,開展用戶身份全生命周期管理。(3)對系統(tǒng)開展?jié)B透測試[11],從而發(fā)現(xiàn)Web應(yīng)用系統(tǒng)軟件相關(guān)安全性設(shè)計與實現(xiàn)缺陷,從而提升安全性測試能力、強化軟件安全性設(shè)計與實現(xiàn)。(4)對訪問情況進行統(tǒng)計,積累用戶信息開展分析,提升決策能力。