摘要:目前高校教學系統(tǒng)的認證機制大多是采用用戶名和密碼來進行登錄,若用戶需要訪問不同系統(tǒng)中的資源,傳統(tǒng)的認證機制必然會耗費大量的時間。因此在統(tǒng)一框架下,建立單點登錄的安全機制,降低多個系統(tǒng)不同登錄模式帶來的安全風險及用戶信息維護成本,已成為高校門戶網(wǎng)站建設中的重要課題。
關鍵詞:單點登錄;CAS;高校教務管理系統(tǒng);認證機制;高校門戶網(wǎng)站 文獻標識碼:A
中圖分類號:TP311 文章編號:1009-2374(2015)12-0017-02 DOI:10.13535/j.cnki.11-4406/n.2015.12.009
1 概述
隨著網(wǎng)絡技術的日益普及以及教育投入的不斷增加,校園網(wǎng)已經逐漸成為了高校正常運作中必不可少的部分。同時,校園網(wǎng)內部建立了越來越多的系統(tǒng)以滿足不斷拓展的工作業(yè)務的需求。不同的系統(tǒng)大都是在不同時期建設的,設計針對于不同的功能,而且編寫系統(tǒng)的開發(fā)單位也會不同。所以,每個校園網(wǎng)站的內部系統(tǒng)都有專屬的一套安全規(guī)范以及身份認證體系。用戶必須使用該系統(tǒng)專門配置的對應的賬號進行登錄才可以使用這些系統(tǒng)。若用戶需要訪問不同系統(tǒng)中的資源,那么他每進入一個系統(tǒng)就必須輸入一次相應的賬號進行登錄。這種訪問方式必然會耗費用戶大量的時間去登錄系統(tǒng),同時用戶也被迫需要花費精力去記憶大量的賬號信息。因此,大多數(shù)的用戶會采用容易記憶卻過于簡單的登錄賬號密碼;一些用戶會將登錄的賬號密碼記錄在紙條上,以避免遺忘;還有一些用戶為了節(jié)約登錄時間,在不使用系統(tǒng)服務時不退出。由此我們可以看到,利用傳統(tǒng)的登錄方式的系統(tǒng)既增加用戶的負擔,也很容易導致違反基本安全策略的事件發(fā)生,使得系統(tǒng)安全性降低,且更容易受到攻擊。
另外,目前采用的傳統(tǒng)的用戶名密碼認證機制的校園網(wǎng),內部不同的系統(tǒng)都必須保存各自的用戶信息數(shù)據(jù)庫,這就給校園網(wǎng)的管理增加了很大的難度。例如當學校新增了一名員工,校園網(wǎng)的管理員就必須在該員工有權訪問的校園網(wǎng)的所有系統(tǒng)中逐一為該員工建立一套賬號,而如果用戶忘記了密碼及系統(tǒng)提供的找回方式,就只能與管理員聯(lián)系,通過復雜的審查核實流程,取回密碼,這直接造成了系統(tǒng)和安全管理資源的開銷。若該員工離開學校,校園網(wǎng)的管理員又必須在各個系統(tǒng)中將其賬號一一刪除。這一做法無疑增加了管理員的工作量,而且很可能產生某些遺漏,埋下校園網(wǎng)安全隱患。
由此可見,如何才能更有效地對校園網(wǎng)信息系統(tǒng)進行管理,是校園網(wǎng)所面臨的一個重要問題。我們發(fā)現(xiàn)這是由于分散的用戶信息管理所造成的,同一用戶的登錄信息在校園網(wǎng)內部的各個系統(tǒng)之間完全沒有關聯(lián),這就使得用戶每登錄一個系統(tǒng)就要進行一次身份驗證。因此將各系統(tǒng)用戶登錄信息進行統(tǒng)一驗證,成為校園網(wǎng)改善門戶網(wǎng)站整體用戶身份驗證的關鍵問題之一。
2 教務管理系統(tǒng)需求分析
學院教務管理系統(tǒng)是一個涉及教務管理各環(huán)節(jié)、面向學校各部門以及各層次用戶的多模塊綜合管理信息系統(tǒng),主要包含公共信息管理、收費注冊管理、招生管理系統(tǒng)、畢業(yè)論文管理、課程選課管理、教學計劃管理、成績管理等多個子系統(tǒng)。各子系統(tǒng)之間既相互關聯(lián),又相互獨立,構成了一個復雜的綜合教務管理信息系統(tǒng)。
目前學院獨立的校園網(wǎng)系統(tǒng)包括招生管理系統(tǒng)、職業(yè)鑒定管理系統(tǒng)、畢業(yè)論文管理管理系統(tǒng)。這幾個校園網(wǎng)站系統(tǒng)都是在獨立服務器上運行的,而且都是采用B/S(Browser/Server)結構,管理用戶通過瀏覽器就可以訪問。
第一,教務處和學校各個部門管理工作有合理的分工和交互,各行其責。為便利日常工作,非常有必要開發(fā)校級的教務管理系統(tǒng)和其他系級的單點登錄應用系統(tǒng)。這些系統(tǒng)應具有統(tǒng)一的用戶名稱和密碼的管理、增刪、授權等功能。
第二,為了保證學校和院(系)兩級系統(tǒng)的數(shù)據(jù)的一致性,需要對相關的數(shù)據(jù)進行安全管理,以保證良好的數(shù)據(jù)質量。
第三,需要定期的數(shù)據(jù)備份和方便的數(shù)據(jù)恢復,以減少或避免不可抗力所造成的可能的數(shù)據(jù)損失。
第四,具有良好的人機交互界面。由于系統(tǒng)將有較大的數(shù)據(jù)量,原始數(shù)據(jù)的導入、輸入及編輯等操作應當簡易,并支持多方式的修改。
根據(jù)以上教務管理的基本需求,本文設計系統(tǒng)主要完成的任務有兩個:前臺功能和后臺功能。前臺功能主要是運行和用戶相關的處理,如提供課程信息、選課管理、學員注冊、成績查詢、教師評價等。后臺功能主要是運行后臺管理員權限操作,用于對學員的信息管理和維護。
3 單點登錄技術
單點登錄系統(tǒng)(Single Sign On,縮寫SSO),這一解決方案正是針對這一關鍵問題而提出的。單點登錄系統(tǒng)集中保存和管理原來分散的用戶管理。各個系統(tǒng)之間可以進行用戶身份的自動認證,于是校園網(wǎng)的管理員只需要在唯一的用戶信息數(shù)據(jù)庫中進行添加和刪除用戶賬號。
在單點登錄系統(tǒng)中需采用中心認證服務,CAS(Central Authentication Service)。采用CAS的目的就是集中分布在一個學院內部各個異構系統(tǒng)的認證工作,通過一個公用的認證系統(tǒng)統(tǒng)一管理和驗證用戶身份。用戶若在CAS上認證通過,將獲得CAS頒發(fā)的一個證書。用戶可以使用CAS證書在承認此證書的各個內部系統(tǒng)自由訪問,不需要重復登錄認證。
4 系統(tǒng)設計
我們將教務管理系統(tǒng)應用在職責上分成3層:表示層(Presentation Layer)、業(yè)務層(Business Layer)、持久層(Persistence Layer)。
表示層采用的是Struts2.0框架,Web頁面技術采用的是JavaScript技術。
業(yè)務層采用的是Spring框架,分為Web控制層、Service層、DAO層以分離控制層與業(yè)務邏輯層。
持久層采用實體關系映射工具Hibernate完成。它可以通過Hibernate將關系型的數(shù)據(jù)庫的數(shù)據(jù)映射成對象,以實現(xiàn)以面向對象的方式進行操作數(shù)據(jù)庫。
系統(tǒng)的安全設計,大體分為數(shù)據(jù)存儲安全和數(shù)據(jù)傳輸安全兩部分。對于直接針對SSO的數(shù)據(jù)庫服務器和CAS認證服務器進行的嘗試竊取數(shù)據(jù)攻擊,在部署上可以在通過內外網(wǎng)劃分,將數(shù)據(jù)服務器放在局域網(wǎng)內來提高整體系統(tǒng)的安全性。在內外網(wǎng)入口處,通過增加防火墻對訪問的域名和口地址進行有效限制,針對數(shù)據(jù)存儲服務器直接進行攻擊方式,實現(xiàn)了有效的防范。
將整個單點登錄系統(tǒng)部署分為內外網(wǎng)部署,并在內外網(wǎng)間設置了防火墻,提高了系統(tǒng)的安全性。數(shù)據(jù)庫服務器除SSO認證服務外不需要其他服務器或客戶端直接訪問,因此放置在由局域網(wǎng)交換機連接的內網(wǎng)之中可以極大提高數(shù)據(jù)的安全性。內網(wǎng)的入口是唯一的,在途中是一臺CAS的SSO服務器,在實際系統(tǒng)環(huán)境中,為了保證內網(wǎng)各服務器數(shù)據(jù)的安全性,在內外網(wǎng)交叉的入口處加防火墻是必要的,利用防火墻本身的包過濾和訪問限制等設置,有效降低了服務器被攻擊的風險。
CAS的SSO服務器的合理部署可以使網(wǎng)絡對學院Web網(wǎng)站的直接攻擊減少。但是它不能預防被攔截攻擊的隱患,而且學院前臺Web服務器本來就要對信息進行不斷的更新和維護,所以盡量不要把用戶基本信息和認證信息放在數(shù)據(jù)庫服務器中,把用戶的登陸信息改放到CAS的SSO服務器是解決多系統(tǒng)用戶認證的有效方式。
5 結語
現(xiàn)代化的校園管理離不開高效率的信息化手段。高校的教務處作為主管高校的教學工作的職能部門,負責全校的教學運行管理,在高校運行中處于相當重要的位置。為了避免同一身份多個賬號管理的繁瑣以及安全問題,我們設計了基于CAS的單點登錄系統(tǒng)的解決方案及相應實現(xiàn)方法,并且具體針對學院訪問量大、安全性高的需求特點,提出了使用基于Spring、Struts、Hibernate等多種框架技術的,適應高并發(fā)、高安全性的單點登錄系統(tǒng)解決方案。
參考文獻
[1] 李臘元,李春林.計算機網(wǎng)絡技術[M].北京:國防工業(yè)出版社,2001.
[2] 羅時飛.敏捷Acegi、CAS:構建安全的Java系統(tǒng)[M].北京:電子工業(yè)出版社,2007.
[3] 夏昕,曹曉鋼,唐勇.深入淺出Hibernate[M].北京:電子工業(yè)出版社,2005.
作者簡介:鄭翊(1979-),男,福建福州人,供職于福建工程學院國脈信息學院,碩士,研究方向:軟件工程。
(責任編輯:周 瓊)