鄭歆
(福建農(nóng)林大學(xué)軟件工程學(xué)院,福建 福州 350002)
當(dāng)今社會(huì)是一個(gè)信息化的社會(huì),信息技術(shù)的飛速發(fā)展,為生產(chǎn)和生活帶來了極大的便利。高校學(xué)生成績管理是一項(xiàng)重要但又工作量大、容易出錯(cuò)的工作。在教務(wù)管理網(wǎng)絡(luò)化的趨勢下,如何提高成績管理的時(shí)效性,方便教師錄入成績、學(xué)生查詢成績;如何保證學(xué)生成績的真實(shí)性,防止非法用戶錄入或者篡改學(xué)生成績;如何保證成績錄入的不可否認(rèn)性,都成為了學(xué)生成績管理系統(tǒng)在使用時(shí)亟待解決的問題。為此,設(shè)計(jì)具有安全子系統(tǒng)的學(xué)生成績管理系統(tǒng)具有一定的現(xiàn)實(shí)意義,能夠有效減少勞動(dòng)力的使用,提高工作效率,加快查詢速度,加強(qiáng)安全管理。
根據(jù)前期對(duì)系統(tǒng)需求的調(diào)查與分析,以及系統(tǒng)的工作特點(diǎn),學(xué)生成績管理系統(tǒng)采用基于B/S模型的三層體系結(jié)構(gòu),以M icrosoft SQL Server 2005為數(shù)據(jù)庫平臺(tái),進(jìn)行Web應(yīng)用系統(tǒng)的開發(fā)。Web服務(wù)器使用M icrosoft Windows Server 2003操作系統(tǒng),并安裝IIS(互聯(lián)網(wǎng)信息服務(wù))組件,從而實(shí)現(xiàn)客戶端瀏覽器與數(shù)據(jù)庫服務(wù)器之間的信息交互。
學(xué)生成績管理系統(tǒng)按其功能需求劃分為6個(gè)模塊,包括:用戶登錄、用戶管理、基本信息管理、成績管理、成績查詢和安全子系統(tǒng),每個(gè)模塊完成特定的、與成績管理相關(guān)的功能,如圖1所示。
圖1 系統(tǒng)功能模塊圖
(1)用戶登錄
所有用戶均必須通過本模塊登錄系統(tǒng),按分配到的操作權(quán)限進(jìn)行相關(guān)操作,以防止用戶進(jìn)行非授權(quán)操作。同時(shí)采用隨機(jī)生成驗(yàn)證碼的方式,防止入侵者暴力破解密碼。
(2)用戶管理
本模塊分成了角色管理、教師管理、學(xué)生管理和修改密碼4個(gè)子模塊,主要用于維護(hù)角色、教師、學(xué)生等的基本信息,包括登錄本系統(tǒng)使用的用戶名、密碼、所屬角色權(quán)限,以及相關(guān)的基本信息。
(3)基本信息管理
本模塊分成了專業(yè)管理、班級(jí)管理、課程管理3個(gè)子模塊,主要用于維護(hù)與成績相關(guān)的專業(yè)、班級(jí)、課程等基本信息。
(4)成績管理
本模塊是學(xué)生成績管理系統(tǒng)的核心模塊,分為錄入成績、修改成績、審核成績和查詢成績4個(gè)子模塊。
在課程結(jié)束后,任課教師可以通過錄入成績子模塊輸入學(xué)期信息,并選擇要錄入成績的課程和班級(jí)。然后由系統(tǒng)根據(jù)選中的班級(jí)信息,從數(shù)據(jù)庫表中查詢并返回該班級(jí)的學(xué)生名單,以二維表形式顯示,以方便教師錄入成績。操作頁面如圖2所示。
如果發(fā)現(xiàn)提交的成績填寫錯(cuò)誤,任課教師還可以在成績審核前通過修改成績子模塊修改學(xué)生成績。
教務(wù)人員對(duì)任課教師提交的成績進(jìn)行審核,確保成績的正確、有效。同時(shí)還提供成績查詢的功能。
(5)成績查詢
成績查詢分為學(xué)生查詢和教師查詢2個(gè)子模塊,為學(xué)生和教師在線查詢成績提供便利。
(6)安全子系統(tǒng)
本模塊主要用于解決系統(tǒng)中可能存在的各種安全問題,從而在一定程度上提高系統(tǒng)的安全性。
在學(xué)生成績管理系統(tǒng)的安全子系統(tǒng)中,主要通過可靠的身份認(rèn)證與訪問權(quán)限控制,以及數(shù)據(jù)加密等方法,提高系統(tǒng)的安全性。本子系統(tǒng)共分為5個(gè)子模塊:身份認(rèn)證、訪問控制、數(shù)據(jù)加密、防止惡意攻擊和日志管理,如圖3所示。
圖3 安全子系統(tǒng)模塊結(jié)構(gòu)圖
本模塊為用戶的身份提供驗(yàn)證功能,只有成功通過身份認(rèn)證的用戶才能登錄系統(tǒng),從而防止非法用戶進(jìn)入系統(tǒng)。
身份認(rèn)證是許多應(yīng)用系統(tǒng)的第一道防線,也是實(shí)施訪問控制的依據(jù)。其目的在于驗(yàn)證用戶身份是否合法,阻止非法用戶進(jìn)入系統(tǒng),獲取合法用戶的身份信息,從而為能夠正確實(shí)施訪問控制策略提供保證[1]。
根據(jù)本系統(tǒng)的使用特點(diǎn),采用簡單易行的用戶名/密碼認(rèn)證方式。由用戶自己設(shè)定容易記憶的密碼,通常是由數(shù)字、字母、特殊字符等組成具有一定長度的字符串。
在信息系統(tǒng)中,訪問控制是在用戶通過身份認(rèn)證后保護(hù)系統(tǒng)資源安全的第二道屏障。它的主要任務(wù)是在用戶最大限度共享系統(tǒng)資源的基礎(chǔ)上,管理用戶的訪問權(quán)限,防止用戶對(duì)信息的越權(quán)訪問、篡改和濫用。它為經(jīng)過身份認(rèn)證后的合法用戶提供所需要的并且是經(jīng)過授權(quán)的服務(wù),拒絕用戶越權(quán)的服務(wù)請(qǐng)求,使用戶在系統(tǒng)的管理策略下有序地工作[1]。
根據(jù)訪問控制策略的不同,目前主要有自主訪問控制、強(qiáng)制訪問控制、基于角色的訪問控制這三種訪問控制模型被廣泛應(yīng)用[2]。
自主訪問控制(Discretionary Access Control,DAC)是指作為某個(gè)客體的擁有者的主體能夠?qū)?duì)該客體的全部或部分訪問權(quán)限自主地授予其他主體,并且可以在隨后的任何時(shí)刻撤銷這些授權(quán)[3]。這種訪問控制模型為用戶提供了靈活的訪問控制機(jī)制,但由于用戶可以任意地將所擁有的權(quán)限直接或間接的授予其他用戶,因此容易產(chǎn)生安全漏洞,安全性不高。
強(qiáng)制訪問控制(Mandatory Access Control,MAC)指的是在訪問發(fā)生以前,由系統(tǒng)事先為一個(gè)主體進(jìn)行授權(quán),決定該主體可以對(duì)哪些客體進(jìn)行訪問以及能夠進(jìn)行什么樣的訪問。強(qiáng)制訪問控制機(jī)制不僅能阻止對(duì)系統(tǒng)的惡意攻擊,也可以防止由于程序錯(cuò)誤或用戶的誤操作所引起的泄露和破壞,但缺點(diǎn)是訪問控制規(guī)則必須預(yù)先設(shè)定,靈活性差。
基于角色的訪問控制 (Role-Based Access Control,RBAC)是指在一個(gè)組織機(jī)構(gòu)中,系統(tǒng)按照工作崗位的不同創(chuàng)建角色,為每個(gè)角色分配對(duì)應(yīng)的操作權(quán)限,然后再根據(jù)用戶在組織機(jī)構(gòu)中擔(dān)任的職務(wù)為其指派相應(yīng)的角色。用戶通過所分配到的角色獲得相應(yīng)的操作權(quán)限,實(shí)現(xiàn)對(duì)信息資源的訪問[4]?;诮巧脑L問控制大大降低了權(quán)限管理的復(fù)雜度,減少了管理開銷。
通過對(duì)上述3種訪問控制模型的分析比較,本系統(tǒng)決定采用基于角色的訪問控制模型對(duì)用戶權(quán)限進(jìn)行管理。
基本的實(shí)現(xiàn)策略是:首先,將系統(tǒng)中的所有模塊與子模塊按照功能層次進(jìn)行排列,生成一棵系統(tǒng)功能權(quán)限樹。其次,由系統(tǒng)管理員按照各個(gè)崗位職責(zé)的劃分創(chuàng)建各種類型的角色,主要包括系統(tǒng)管理員、學(xué)工人員、教務(wù)人員、任課教師和學(xué)生等。再次,為每種角色分配相應(yīng)的操作權(quán)限,如圖4所示。例如:系統(tǒng)管理員只能操作用戶管理中的角色管理與教師管理,學(xué)工人員可以對(duì)用戶管理中的學(xué)生信息和基礎(chǔ)信息管理中的班級(jí)管理進(jìn)行操作,教務(wù)人員能夠操作基礎(chǔ)信息管理中的專業(yè)管理、課程管理以及成績管理中的審核成績、查詢成績,任課教師僅能對(duì)成績管理中的錄入成績、修改成績以及成績查詢中的教師查詢進(jìn)行操作,而學(xué)生這一角色只能進(jìn)行學(xué)生成績的查詢;最后,根據(jù)用戶的工作職責(zé),為每個(gè)用戶賦予相應(yīng)的角色,各個(gè)用戶通過被指派的角色獲得相應(yīng)的操作權(quán)限,完成對(duì)整個(gè)系統(tǒng)的操作權(quán)限控制。
圖4 添加角色權(quán)限操作頁面
用戶密碼是用戶登錄系統(tǒng)進(jìn)行身份驗(yàn)證的重要依據(jù)。如果在數(shù)據(jù)庫中以明文形式保存用戶密碼,一旦數(shù)據(jù)庫泄露,用戶密碼將一覽無余,入侵者可以假冒系統(tǒng)中任意一個(gè)合法用戶的身份進(jìn)行非法操作,將產(chǎn)生無法想象的嚴(yán)重后果。為了提高用戶密碼的安全性,本系統(tǒng)將使用MD5算法對(duì)用戶設(shè)置的密碼M進(jìn)行加密,將產(chǎn)生的密文M’存入數(shù)據(jù)庫表中。當(dāng)用戶登錄系統(tǒng)進(jìn)行身份驗(yàn)證時(shí),將用戶輸入的密碼P同樣以MD5算法加密,將得到的密文P’與數(shù)據(jù)庫表中記錄的密碼M’進(jìn)行比較。如果P’與M’相符,則身份驗(yàn)證成功;否則,驗(yàn)證失敗,拒絕用戶登錄系統(tǒng)。這樣即使有人非法進(jìn)入數(shù)據(jù)庫,由于MD5算法的不可逆性,依然無法查看到真正的用戶密碼,從而有效地避免了用戶密碼的泄露。
在網(wǎng)站中,一些惡意攻擊者常常通過編寫自動(dòng)登錄程序,重復(fù)登錄暴力破解密碼。因此本系統(tǒng)在用戶登錄時(shí),還要求用戶輸入驗(yàn)證碼。驗(yàn)證碼就是將一串隨機(jī)字符顯示在一張圖片上,并在圖片上產(chǎn)生一些干擾因素(如線條等)。在大多數(shù)情況下,攻擊者的自動(dòng)登錄程序無法識(shí)別圖片中的驗(yàn)證碼信息,而用戶卻能夠正確識(shí)別該驗(yàn)證碼字符串,從而在一定程度上對(duì)這種惡意攻擊起到了阻擋作用。
為了幫助系統(tǒng)管理員了解整個(gè)系統(tǒng)的用戶使用情況,本系統(tǒng)將用戶的登錄信息以日志的形式寫入到一個(gè)文本文件中并保存下來。除了記錄成功通過身份驗(yàn)證的用戶登錄信息,還需要記錄那些試圖非法登錄的用戶信息,以協(xié)助系統(tǒng)管理員及時(shí)發(fā)現(xiàn)問題并采取有效的應(yīng)對(duì)措施。
系統(tǒng)測試的主要目的是為了發(fā)現(xiàn)學(xué)生成績管理系統(tǒng)潛在的各種錯(cuò)誤和缺陷。根據(jù)系統(tǒng)需求與設(shè)計(jì)方案精心設(shè)計(jì)測試用例,對(duì)系統(tǒng)功能、性能、用戶界面等方面的進(jìn)行測試。
經(jīng)過測試發(fā)現(xiàn),本系統(tǒng)界面友好,操作容易,安全性較高,服務(wù)器端、客戶端系統(tǒng)運(yùn)行穩(wěn)定,已經(jīng)完全實(shí)現(xiàn)了對(duì)學(xué)生成績的有效管理。
本文設(shè)計(jì)的學(xué)生成績管理系統(tǒng)是針對(duì)學(xué)生成績管理工作中存在的工作效率低、數(shù)據(jù)保密性差等問題提出的無紙化辦公解決方案。通過本系統(tǒng)的使用,為學(xué)院的學(xué)生成績管理工作提供有利的幫助,使教師和學(xué)生能夠不受時(shí)間、地點(diǎn)的限制,快速、方便地錄入或查詢成績;引入身份認(rèn)證與基于角色的訪問控制機(jī)制,通過角色將操作權(quán)限分配給用戶,防止未授權(quán)用戶進(jìn)行非法操作;對(duì)敏感數(shù)據(jù)使用加密算法進(jìn)行加密處理,防止信息泄露;將用戶登錄信息寫入日志文件,幫助系統(tǒng)管理員及時(shí)發(fā)現(xiàn)問題并采取有效的應(yīng)對(duì)措施。
[1]洪帆.訪問控制概論[M].武漢:華中科技大學(xué)出版社,2010,(8):20~28.
[2]劉宏月,范九倫,馬建峰.訪問控制技術(shù)研究進(jìn)展[J].小型微型計(jì)算機(jī)系統(tǒng).2004,25(1):56~59.
[3]RaviSandhu,QamarMunawer.How to do discretionary accesscontrolusing roles[A].3th ACM workshop on RBAC.1998:47~54.
[4]洪帆,何緒斌,徐智勇.基于角色的訪問控制[J].小型微型計(jì)算機(jī)系統(tǒng).2000,21(2):198~200.