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