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