彭思喜,彭 鵬
(1.華南農(nóng)業(yè)大學(xué)經(jīng)濟(jì)管理學(xué)院,廣州 510642;2.深圳職業(yè)技術(shù)學(xué)院汽車與交通學(xué)院,深圳 518055)
校園信息化建設(shè)使得學(xué)生收費(fèi)管理軟件在眾多高校中得到普遍應(yīng)用.目前多數(shù)高校都采用C/S結(jié)構(gòu)學(xué)生收費(fèi)系統(tǒng).主流高校學(xué)生收費(fèi)系統(tǒng)諸如“神州浩天”和“復(fù)旦天翼”都是采用C/S軟件體系結(jié)構(gòu),但容易陷入“信息孤島”和“共享失位”的困境[1],難以滿足高校各部門自動化協(xié)同辦公的需要:(1)學(xué)校各職能部門的信息系統(tǒng)都是專用的,例如教務(wù)管理、學(xué)生后勤管理、學(xué)生收費(fèi)管理等系統(tǒng),相互不能聯(lián)動,深陷“信息孤島”困境,學(xué)生信息變動難以反饋到各部門信息系統(tǒng)[2].(2)高校學(xué)生收費(fèi)項(xiàng)目類型多,標(biāo)準(zhǔn)不一,導(dǎo)致應(yīng)收款編制復(fù)雜,C/S結(jié)構(gòu)學(xué)生收費(fèi)系統(tǒng)不能與各部門數(shù)據(jù)類型相協(xié)調(diào),造成學(xué)生收費(fèi)業(yè)務(wù)常采用半手工化方式,需要大量人工進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換和輸入[3];(3)由于C/S結(jié)構(gòu)自身封閉性,導(dǎo)致其難以與銀行實(shí)現(xiàn)有效合作,實(shí)現(xiàn)網(wǎng)上收費(fèi)、繳費(fèi)和查詢功能[4],大大降低學(xué)生收費(fèi)工作效率;(4)對學(xué)校管理者而言,無法從學(xué)校層面實(shí)現(xiàn)隨時隨地對學(xué)生收費(fèi)情況進(jìn)行同步監(jiān)控、查詢和統(tǒng)計.
B/S軟件體系結(jié)構(gòu)是對C/S的一種改進(jìn),其自身具備的“共享性、多向性、高效性和及時性”特征[5],能夠有效地彌補(bǔ)上述C/S結(jié)構(gòu)學(xué)生收費(fèi)系統(tǒng)的不足.然而由于B/S結(jié)構(gòu)的開放性,B/S結(jié)構(gòu)軟件系統(tǒng)具有很大的安全隱患,讓病毒的入侵和黑客的攻擊變得容易.如何保障學(xué)生收費(fèi)數(shù)據(jù)的安全,實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的授權(quán)訪問,有效阻止非法用戶的侵權(quán)行為,成為B/S結(jié)構(gòu)學(xué)生收費(fèi)管理系統(tǒng)的重要難題.針對此問題,本文設(shè)計了一種基于角色權(quán)限控制的安全機(jī)制來實(shí)現(xiàn)的.
B/S結(jié)構(gòu)學(xué)生收費(fèi)系統(tǒng)采用客戶層、服務(wù)層、數(shù)據(jù)層三層體系結(jié)構(gòu)(見圖1),既有助于學(xué)生收費(fèi)系統(tǒng)的擴(kuò)充和升級,也有助于團(tuán)隊合作開發(fā).第一層是客戶層,負(fù)責(zé)客戶端界面顯示邏輯,主要由客戶端瀏覽器組成,客戶端電腦需連入網(wǎng)絡(luò).第二層是服務(wù)層,負(fù)責(zé)學(xué)生收費(fèi)事務(wù)處理邏輯,主要有繳費(fèi)平臺、財務(wù)收費(fèi)、財務(wù)管理平臺、系統(tǒng)管理平臺、接口系統(tǒng)、查詢統(tǒng)計等功能服務(wù)組成.第三層是數(shù)據(jù)層,負(fù)責(zé)學(xué)生收費(fèi)管理數(shù)據(jù)處理邏輯,主要由學(xué)生收費(fèi)過程中涉及到的數(shù)據(jù)庫組成.
圖1 學(xué)生收費(fèi)系統(tǒng)B/S結(jié)構(gòu)模式
B/S結(jié)構(gòu)的學(xué)生收費(fèi)系統(tǒng)則能夠有效地解決上述C/S結(jié)構(gòu)的缺點(diǎn),高效方便地實(shí)現(xiàn)如下功能.
(1)多部門管理協(xié)同.目前高校信息化建設(shè)存在“信息孤島”困境,高校是由教務(wù)處、后勤處、學(xué)生處、財務(wù)處、二級學(xué)院等眾多部門組成的,但是學(xué)校中各部門的信息系統(tǒng)是獨(dú)立的,例如教務(wù)管理系統(tǒng)、各二級學(xué)院信息系統(tǒng)、學(xué)生后勤管理系統(tǒng)、學(xué)生收費(fèi)系統(tǒng)等.各系統(tǒng)相互間的數(shù)據(jù)和業(yè)務(wù)都是專用和孤立的,導(dǎo)致學(xué)生“退學(xué)、畢業(yè)、休學(xué)、復(fù)學(xué)、轉(zhuǎn)學(xué)、轉(zhuǎn)專業(yè)”等學(xué)籍變動、學(xué)生宿舍異動、學(xué)生選課費(fèi)用等信息都難以及時準(zhǔn)確地反饋到財務(wù)部門的學(xué)生收費(fèi)系統(tǒng)中,無法滿足各部門信息化協(xié)同管理需求[2].B/S結(jié)構(gòu)的學(xué)生收費(fèi)系統(tǒng)要求教務(wù)、后勤、二級學(xué)院等相關(guān)部門的信息系統(tǒng)采用相同軟件體系機(jī)構(gòu),并共享各部門需要協(xié)作的學(xué)生信息作為公共數(shù)據(jù),各部門相關(guān)操作引發(fā)公共數(shù)據(jù)變化,通過共享渠道反饋到學(xué)生收費(fèi)管理系統(tǒng)及其他部門系統(tǒng)中,從而實(shí)現(xiàn)多部門協(xié)同管理目標(biāo).
(2)應(yīng)收款的編制.應(yīng)收款編制是收繳學(xué)費(fèi)的前提主要工作.目前高校學(xué)生收費(fèi)項(xiàng)目類型多,標(biāo)準(zhǔn)不一,導(dǎo)致應(yīng)收款編制益發(fā)困難.B/S結(jié)構(gòu)學(xué)生收費(fèi)系統(tǒng)能夠通過與教務(wù)處、學(xué)生處、后勤處和各二級學(xué)院的數(shù)據(jù)接口引入公共數(shù)據(jù),使得應(yīng)收款項(xiàng)的編制,調(diào)整和復(fù)制變得相對簡單.
(3)銀行代收.隨著電子支付技術(shù)日益成熟和安全,學(xué)生收費(fèi)都采用銀校合作方式.C/S結(jié)構(gòu)學(xué)生收費(fèi)系統(tǒng)需要學(xué)校與銀行通過特定數(shù)據(jù)格式的“報盤接盤”模式交換學(xué)生收費(fèi)數(shù)據(jù),存在大量“人工干預(yù)、數(shù)據(jù)格式轉(zhuǎn)換錯誤、信息更新緩慢”等問題.B/S結(jié)構(gòu)學(xué)生收費(fèi)系統(tǒng)能夠有效通過DDN專線實(shí)現(xiàn)學(xué)生收費(fèi)信息共享或收費(fèi)信息自動化交換,有效地提高銀行代收業(yè)務(wù)的效率和準(zhǔn)確性.
B/S結(jié)構(gòu)的軟件系統(tǒng),優(yōu)點(diǎn)在于它的開放性,客戶端無需專門軟件,可通過瀏覽器隨時隨地方便訪問系統(tǒng),同時也給B/S機(jī)構(gòu)系統(tǒng)帶來安全隱患,讓病毒的入侵和黑客的攻擊變得容易[6].另一方面,由于B/S結(jié)構(gòu)的Web服務(wù)器一般情況需要24 h不停的運(yùn)轉(zhuǎn),容易使軟硬件設(shè)施損壞,甚至造成數(shù)據(jù)庫文件丟失.為避免上述情況的發(fā)生,B/S結(jié)構(gòu)下的學(xué)生收費(fèi)系統(tǒng)面臨不同層次的安全需求:(1)法律法規(guī)保障.規(guī)范法律法規(guī),制定合理有效的行政手段,保證處理網(wǎng)絡(luò)安全事件可依法執(zhí)行.(2)保證物理安全.通過對校園網(wǎng)絡(luò)通信、設(shè)備、防火墻體系結(jié)構(gòu)設(shè)計服務(wù)器進(jìn)行安全管理.(3)確保網(wǎng)絡(luò)接入安全.校園網(wǎng)與Internet的安全隔離,內(nèi)部與外部用戶的訪問控制,安全監(jiān)控,傳輸數(shù)據(jù)的安全性.(4)業(yè)務(wù)數(shù)據(jù)處理安全.各功能模塊、業(yè)務(wù)數(shù)據(jù)的訪問受權(quán)控制,數(shù)據(jù)備份和恢復(fù),業(yè)務(wù)數(shù)據(jù)的完整性、身份鑒別、交易防抵賴.
B/S機(jī)構(gòu)是面向WEB服務(wù)的,因此首先要設(shè)計學(xué)生收費(fèi)系統(tǒng)的網(wǎng)絡(luò)安全結(jié)構(gòu).網(wǎng)絡(luò)安全是一項(xiàng)復(fù)雜的系統(tǒng)工程,不僅涉及到相關(guān)的安全產(chǎn)品,還包括安全需求以及相對應(yīng)的安全策略.從安全產(chǎn)品看,網(wǎng)絡(luò)安全設(shè)備包括防火墻、防病毒產(chǎn)品、VPN、IDS等.這幾種安全產(chǎn)品相互聯(lián)系,配套使用,而不是獨(dú)立運(yùn)行的[7].
B/S結(jié)構(gòu)學(xué)生收費(fèi)系統(tǒng)采取兩級異構(gòu)模式:一是硬件防火墻,二是軟件防火墻,對校園網(wǎng)上的學(xué)生收費(fèi)系統(tǒng)采用兩級保護(hù).負(fù)責(zé)業(yè)務(wù)處理的Web服務(wù)器處在防火墻體系結(jié)構(gòu)中的非軍事區(qū)(DMZ),只對因特網(wǎng)開放TCP-80和TCP-443端口,關(guān)閉Web服務(wù)器的其他所有不用的端口.數(shù)據(jù)庫服務(wù)器則存在兩個防火墻的后面,Web服務(wù)器能夠訪問,校園網(wǎng)外部的用戶就不能直接訪問數(shù)據(jù)庫服務(wù)器,從而保證了數(shù)據(jù)庫的安全性和可用性.數(shù)據(jù)庫用戶需要通過授權(quán)許可才能操作數(shù)據(jù)庫及其對象.系統(tǒng)管理員需要根據(jù)用戶的角色設(shè)置不同的權(quán)限,保證授權(quán)用戶只能訪問他所允許的信息.
操作系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的環(huán)境和運(yùn)行平臺,其安全性會影響到數(shù)據(jù)庫數(shù)據(jù)的安全.操作系統(tǒng)首先在系統(tǒng)級為數(shù)據(jù)庫提供了保護(hù).在操作系統(tǒng)中,設(shè)置的用戶賬戶越多,安全性就越差.因此,針對B/S結(jié)構(gòu)學(xué)生收費(fèi)管理系統(tǒng),設(shè)置了系統(tǒng)管理員唯一賬戶,其他系統(tǒng)用戶只能通過客戶瀏覽器進(jìn)行身份認(rèn)證后才能登錄學(xué)生收費(fèi)系統(tǒng).同時,為了防止黑客的攻擊和惡意用戶的登錄,B/S結(jié)構(gòu)學(xué)生收費(fèi)管理系統(tǒng)還遵循如下原則:(1)重命名唯一的系統(tǒng)管理賬戶(administrator),更改為一個較長的難以猜測的用戶名,增加黑客攻擊的障礙.(2)禁用來賓(guest)賬戶,并且對其進(jìn)行重命名,因?yàn)閬碣e(guest)賬戶不能刪除只可以更改重命名.有的黑客會利用這個漏洞進(jìn)行攻擊,破壞系統(tǒng),提高自己的管理權(quán)限.(3)給系統(tǒng)管理賬戶設(shè)置一個復(fù)雜的密碼,密碼長度為9位以上,需要包含特殊字符、數(shù)字和字母.同時,要定期更新系統(tǒng)管理賬戶口令.(4)定期更改系統(tǒng)管理員賬戶口令,最好能夠牢記在腦中,不要記錄在任何地方.
圖2 B/S結(jié)構(gòu)學(xué)生收費(fèi)系統(tǒng)的網(wǎng)絡(luò)安全結(jié)構(gòu)
數(shù)據(jù)庫安全控制設(shè)計,包括:(1)數(shù)據(jù)庫物理保護(hù).為了進(jìn)行數(shù)據(jù)庫的物理保護(hù),B/S結(jié)構(gòu)學(xué)生收費(fèi)管理系統(tǒng)將第二層Web服務(wù)器與第三層數(shù)據(jù)庫服務(wù)器分開,數(shù)據(jù)庫服務(wù)器放置在第二級防火墻后的內(nèi)部校園網(wǎng)中,Web服務(wù)器處理業(yè)務(wù)需要訪問數(shù)據(jù)庫時,必須通過防火墻,使得因特網(wǎng)外部用戶沒有辦法直接訪問數(shù)據(jù)庫.(2)數(shù)據(jù)庫意外保護(hù).一方面,通過備份計劃、定期備份和數(shù)據(jù)庫日志保證障礙發(fā)生時能夠通過備份數(shù)據(jù)庫進(jìn)行恢復(fù),防止數(shù)據(jù)丟失;另一方面,番職院學(xué)生收費(fèi)系統(tǒng)采用RAID技術(shù)以保證系統(tǒng)障礙發(fā)生時實(shí)現(xiàn)數(shù)據(jù)快速恢復(fù),以求最低限度減少數(shù)據(jù)損失.(3)數(shù)據(jù)庫訪問控制.數(shù)據(jù)庫用戶需要通過授權(quán)許可才能操作數(shù)據(jù)庫及其對象.系統(tǒng)管理員需要根據(jù)用戶的角色設(shè)置不同的權(quán)限,保證授權(quán)用戶只能訪問他所允許的信息.
如何實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的授權(quán)訪問,傳統(tǒng)方式有自主訪問控制(DAC)和強(qiáng)訪問控制(MAC)兩種技術(shù).自主訪問控制(DAC)雖然授權(quán)靈活但因“授權(quán)”自由傳遞易引發(fā)“授權(quán)泄漏”導(dǎo)致非信任用戶取得合法權(quán)限[8].強(qiáng)訪問控制(MAC)能有效地防止“授權(quán)泄漏”,但“授權(quán)僵化”不能滿足業(yè)務(wù)流程需要[9].因此DAC和MAC在授權(quán)管理方面都存在較大缺陷,難以滿足實(shí)際應(yīng)用需求,逐漸被基于角色的訪問控制(RBAC)技術(shù)有效替代.RBAC基本思想(見圖3)是“將權(quán)限與角色相關(guān)聯(lián),用戶則根據(jù)自身責(zé)任和資格被指派到相應(yīng)角色,獲得相應(yīng)角色的權(quán)限”[10].
圖3 基于角色訪問控制RBAC模型
從圖3分析,RBAC模型通過引入“角色”中介實(shí)現(xiàn)了權(quán)限與用戶的邏輯分離.在該模式中,用戶不能自主進(jìn)行授權(quán)或者權(quán)限轉(zhuǎn)移,克服了自主訪問控制機(jī)制的缺點(diǎn),也不會像MAC一樣會限制信息的流向,而是通過角色來獲得自己的授權(quán)信息,具有高度的擴(kuò)展性和靈活性[11].在RBAC模型中,提出了一種“基于角色”的權(quán)限授權(quán)機(jī)制,用戶根據(jù)系統(tǒng)管理員指派的角色,獲得該角色的權(quán)限.而系統(tǒng)管理員則根據(jù)具體業(yè)務(wù)需要而設(shè)置不同角色的權(quán)限.角色的產(chǎn)生或取消,亦由系統(tǒng)管理員根據(jù)系統(tǒng)業(yè)務(wù)需要而進(jìn)行設(shè)置.登錄到系統(tǒng)的用戶通過會話方式激活用戶扮演的不同角色.總的來看,RBAC具有“授權(quán)靈活、便于管理、策略中立”等授權(quán)管理優(yōu)點(diǎn)[12],降低了授權(quán)的復(fù)雜度和管理成本,因而得到普遍應(yīng)用.
圖4 番職院RBAC學(xué)生收費(fèi)系統(tǒng)角色類型
4.2.1 角色定義
本文以廣州番禺職業(yè)技術(shù)學(xué)院(簡稱“番職院”)的學(xué)生收費(fèi)系統(tǒng)開發(fā)為例,番職院學(xué)生收費(fèi)系統(tǒng)RBAC采用“用戶組”和“角色類”方案:用戶組主要有系統(tǒng)管理員組、高級用戶和普通用戶三種.不同用戶組對應(yīng)不同的角色類,在番職院RBAC中,系統(tǒng)管理員用戶組對應(yīng)角色有系統(tǒng)管理員、字典管理員、數(shù)據(jù)庫維護(hù)員;高級用戶組對應(yīng)的角色有出納人員、會計人員、審計人員、信息管理員、信息查詢?nèi)藛T、信息統(tǒng)計人員;普通用戶組對應(yīng)的角色有學(xué)生、教務(wù)管理員、后勤管理員、二級學(xué)院人員.用戶組與角色類對應(yīng)關(guān)系見圖4.
4.2.2 角色權(quán)限控制
權(quán)限訪問控制,是指通過某種策略和方法對用戶授權(quán)進(jìn)行有效管理.番職院RBAC中,系統(tǒng)不是對某用戶或用戶組進(jìn)行直接授權(quán),而是要區(qū)分該用戶屬于哪類用戶組,扮演了何種角色.每類角色有其對應(yīng)的權(quán)限,也有其對應(yīng)的功能模塊.根據(jù)用戶類型和扮演的角色,就可以分配用戶的權(quán)限和用戶能夠操作的功能模塊(見圖4).用戶通過身份認(rèn)證后,就可以安全登錄到用戶所扮演角色的模塊界面,并按照角色設(shè)定的權(quán)限進(jìn)行操作.
角色權(quán)限控制流程(見圖5)如下:(1)首先用戶通過客戶端電腦瀏覽器登錄番職院學(xué)生收費(fèi)系統(tǒng)登錄界面,輸入用戶名和選擇用戶類型;(2)判斷用戶類型是否是系統(tǒng)管理員,如果是,則選擇用戶扮演的角色分配權(quán)限,否則進(jìn)入下一步.(3)判斷用戶類型是否是高級用戶組,如果是則選擇用戶所扮演的角色,分配相應(yīng)角色權(quán)限,否則進(jìn)入下一步.(4)如果用戶類型不是高級用戶組,則判斷用戶類型是否是普通用戶組,如果是,則選擇用戶所扮演的角色,分配給用戶響應(yīng)權(quán)限.
圖5 角色權(quán)限分配界面
圖6 角色權(quán)限控制流程圖
圖7 模塊分配控制流程圖
4.2.3 模塊分配控制
根據(jù)用戶類型和所扮演的角色,開放該角色權(quán)限所有的功能模塊,關(guān)閉該用戶對應(yīng)角色沒有的功能模塊,模塊分配控制流程(見圖6)如下:(1)首先登陸系統(tǒng)界面,輸入正確的用戶名和密碼,選擇對應(yīng)的用戶類型和扮演的角色,有效通過權(quán)限分配控制流程獲得用戶權(quán)限系列.(2)根據(jù)用戶權(quán)限序列,逐一掃描其所屬用戶組對應(yīng)的每個功能模塊,判斷用戶是否擁有該模塊的操作權(quán)限.(3)如果判定用戶擁有該模塊的操作權(quán)限,則設(shè)置該模塊可操作.(4)按照上述方法掃描用戶類型對應(yīng)的所有功能模塊,提取用戶擁有操作權(quán)限的所有模塊.
(1)授權(quán)管理復(fù)雜度.番職院RBAC將訪問權(quán)限與角色相關(guān)聯(lián),用戶通過自己扮演的角色獲得自己的授權(quán)信息,擺脫了用戶與權(quán)限的直接綁定,使得用戶和權(quán)限相分離,用戶職能的變動,不會產(chǎn)生授權(quán)操作,只需要重新設(shè)置用戶角色就可以實(shí)現(xiàn)用戶權(quán)限變更,從而使得授權(quán)管理變得簡單高效,降低了授權(quán)管理的復(fù)雜度和管理成本.
(2)訪問控制安全性.用戶首先通過選擇用戶類型和所扮演角色獲得用戶權(quán)限系列,再根據(jù)用戶的權(quán)限系列掃描系統(tǒng)的每一個模塊,確定用戶對應(yīng)的功能模塊的權(quán)限,保證用戶界面能且只能訪問用戶擁有權(quán)限的模塊,并按照權(quán)限進(jìn)行特定操作,保證了業(yè)務(wù)數(shù)據(jù)的安全性[56].
(3)業(yè)務(wù)流程適應(yīng)性.番職院RBAC通過“用戶-角色-功能模塊”實(shí)現(xiàn)業(yè)務(wù)流程的控制,根據(jù)用戶類型和所扮演角色,用戶獲得權(quán)限系列,并根據(jù)權(quán)限系列獲得對應(yīng)的功能模塊,并按照業(yè)務(wù)流程需要對這些功能模塊進(jìn)行特定操作,實(shí)現(xiàn)了業(yè)務(wù)流程的適應(yīng)性和多部門多用戶間的業(yè)務(wù)協(xié)同.番職院RBAC模式與DAC和MAC的優(yōu)勢比較見表1.
表1 番職院RBAC與傳統(tǒng)訪問控制技術(shù)比較
隨著校園信息化的建設(shè),學(xué)生收費(fèi)管理軟件在眾多高校得到普遍應(yīng)用.但目前多數(shù)高校采用的諸如神州浩天、復(fù)旦天翼等主流學(xué)生收費(fèi)系統(tǒng)都是采用C/S軟件體系結(jié)構(gòu),容易發(fā)生部門間“信息孤島”、共享性“失位”、信息安全性難以保障等問題,難以滿足信息化協(xié)同管理的需要.B/S結(jié)構(gòu)能夠克服C/S結(jié)構(gòu)學(xué)生收費(fèi)系統(tǒng)的不足,有效實(shí)現(xiàn)多部門信息化協(xié)同管理.然而B/S結(jié)構(gòu)的開放性容易導(dǎo)致巨大的安全隱患.如何在保障學(xué)生收費(fèi)業(yè)務(wù)流程控制基礎(chǔ)上,實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的安全需求和授權(quán)訪問,有效阻止非法用戶的侵權(quán)行為和合法用戶越權(quán)使用,是B/S結(jié)構(gòu)學(xué)生收費(fèi)管理系統(tǒng)的亟待解決的難題.基于此,上文設(shè)計了一種基于RBAC的權(quán)限控制安全機(jī)制,根據(jù)用戶類型和扮演角色,通過“角色權(quán)限控制”和“模塊分配控制”,實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)和功能模塊的授權(quán)訪問,有效地克服B/S結(jié)構(gòu)的安全性缺陷,在學(xué)生收費(fèi)業(yè)務(wù)流程控制基礎(chǔ)上,實(shí)現(xiàn)了靈活的授權(quán)管理靈活和安全的業(yè)務(wù)數(shù)據(jù)訪問.