董甲東,鄭春香
(1.西安建筑科技大學機電工程學院,西安,710055; 2.安慶師范學院信息中心,安慶,246011; 3.安慶師范學院計算機與信息學院,安慶,246011)
校園信息門戶統一身份認證系統的設計
董甲東1,2,鄭春香3
(1.西安建筑科技大學機電工程學院,西安,710055; 2.安慶師范學院信息中心,安慶,246011; 3.安慶師范學院計算機與信息學院,安慶,246011)
基于單點登錄技術,構建一個統一身份認證服務平臺,有效地整合校園網絡中所有的應用系統和資源,提供統一入口,用戶只進行一次登錄,就可以實現應用漫游,訪問所有被授權的應用系統,對統一身份認證系統整體設計思想、結構框架、關鍵技術的實現進行論述。
統一身份認證;單點登錄;數字化校園
Abstract:A uniform identity authentication service platform based on single sign on was constructed. The designed platform provides the integration environment of single sign on, uniform identity authentication, applications roaming and access control for all the existed application systems. The total designing idea and its architecture and frame were proposed, its key technique was discussed.
Key words:Uniform Identity Authentication; Single Sign On; Digital Campus
統一身份認證系統是為校園網絡諸多應用系統建立惟一的認證服務平臺,用戶的信息資源被統一存儲在用戶資料數據庫中,為校園網內部的所有應用共享。對校園網用戶而言,只需要一次身份認證,就可以對所有被授權的應用系統或資源進行無縫的訪問;對網絡管理員而言,可以在可視化圖形界面下,實現對各種應用系統用戶的集中管理和統一身份認證,并進行系統級的授權。從而改變傳統分散的用戶管理和認證模式,大大提高了認證的可信度和可靠性。基于校園信息門戶,構建一個統一身份認證系統是解決校園網內部應用系統集中的有效途徑。
1.1 目錄服務
目錄服務就是按照樹狀信息組織模式,實現信息管理和服務接口的一種方法。它將分布式系統中的用戶、資源和組成分布式系統的其他對象統一組織起來,提供一個單一的邏輯視圖,允許用戶和應用透明地訪問網絡上的資源。一個由目錄服務支持的網絡系統是一個集成的、網絡化的、統一的系統,而不是獨立功能的簡單聚合。
1.2 LDAP目錄服務器
就像Oracle 或Microsoft的數據庫管理系統(DBMS)是用于處理查詢和更新關系型數據庫一樣,LDAP服務器是用來處理查詢和更新LDAP目錄的。LDAP目錄也是一種類型數據庫,但它不是關系型數據庫,不具備上述關系型數據庫的完備的關系運算處理能力,也沒有很強的數值計算處理能力。目錄服務不適于進行頻繁的更新,而且在本質上屬于分布式結構,它具備以下優點:
1. 突出的檢索性能
LDAP服務器在處理大量用戶并發訪問題上優勢明顯,具有比關系數據庫系統更快的響應速度。
2.完善的安全機制
LDAP服務器通過訪問控制列表ACL設置對目錄數據庫的讀寫權限,通過支持基于SSL(Secure Sockets Layer)的安全機制完成對明文加密,能提供更安全的保障。
3.跨平臺支持
由于LDAP Server運行在TCP/IP上層,互聯網上的各種應用,無論是運行在Unix還是在Windows,都可以通過TCP/IP訪問LDAP服務器上的目錄信息。
4.同步復制功能
大多數LDAP服務器都內置同步復制功能,它增強了網絡應用中數據的安全保障,另外復制還可以使分布在不同地域的服務器保持數據的同步。
2.1 統一身份認證系統框架結構
統一身份認證系統設計的核心思想是運用單點登錄技術(SSO),用目錄服務數據庫集中存儲用戶信息和各個應用系統的信息,實現對用戶的集中管理、統一認證和統一授權,以及實現對應用系統的訪問控制。系統框架結構如圖1所示。
目錄服務數據庫:目錄服務數據庫是整個統一身份認證系統的基礎,采用標準的LDAP目錄服務數據庫,通過LDAP目錄力將校內的用戶和應用系統的信息以層次結構、面向對象的數據庫方式加以集中和管理,保證了數據的一致性和完整性,為校園網的各類應用系統提供用戶信息的共享和使用。
用戶認證和授權:每個用戶認證成功后才能登錄訪問各個應用系統,而通過對角色的定義,用戶認證完成后,應用系統根據用戶的組別進行授權訪問或取消訪問授權。
用戶身份管理服務:在學校,每個人都有一個自己的真實身份,而在數字化校園里,每個人都有一個自己的電子身份。用戶的身份管理服務就是實現用戶的真實身份到電子身份的映射,保證每個校園網的用戶都能得到一個和其真實身份相對應的電子身份,并享有和其身份相對應的網絡訪問權限。
應用系統注冊服務:應用系統要由統一身份認證系統來統一授權訪問。它必須先在統一身份系統中注冊,提供相關的信息,包括應用系統的身份信息、應用系統所有合法用戶的信息、應用系統的訪問控制信息等。
2.2 統一身份認證系統功能規劃
2.2.1身份認證服務器
身份認證服務器是整個統一身份認證服務平臺的核心,從功能上看,身份認證服務器主要由身份認證模塊、用戶管理模塊、訪問授權模塊組成。
2.2.2用戶資料數據庫
用戶資料數據庫采用LDAP目錄服務器,利用其分布式目錄信息樹結構、面向對象的信息存儲方式,對統一身份認證服務系統中的用戶身份信息、應用系統資源信息、賬號關聯信息、控制策略信息等進行有效的組織和管理,提供高效安全的目錄訪問。
2.2.3策略設置

圖1 統一身份認證系統框架結構
策略被存儲在LDAP目錄服務器中,它是統一身份認證平臺中用來控制訪問權限的一種手段。策略定義了在何種情況下,何人可以對受控的資源進行何種操作或者不可以進行何種操作,對系統沒有明確授權的操作都作出拒絕答復。策略包括:資源名稱,一般是被保護資源的URL;對每個資源需要控制的操作名稱,如GET/POST或者是READ/WRITE等;對每個定義的動作的訪問控制,是允許還是拒絕;它可以規定具體的IP地址或地址段、強制使用的認證模式、起始和結束時間限制。
2.2.4登錄代理
登錄代理是一個代理程序,它作為一個中間件被部署在各支持統一身份認證服務平臺的應用系統服務器端。對于C/S模式的應用,它可以是一個Windows的安裝程序,對于B/S模式的應用,它可以是一個運行在Web服務器中的SERVLET,它負責監聽用戶發送給應用服務器的各種請求,并根據用戶的認證信息利用統一身份認證平臺提供的API查詢用戶數據庫資料中的用戶信息進行認證,并根據用戶數據庫中的策略來判斷用戶的請求是否得到滿足,如果能滿足,則將用戶的訪問請求轉向到相應的應用系統處理,如果不能滿足,則系統拒絕服務。
2.2.5賬號關聯
對校園網中已經存在的應用系統,內部已擁有自己的用戶管理和認證模塊,為了將它們集成到統一身份認證服務平臺中,同時避免大量修改已有的程序代碼,盡量保留原有的用戶管理和認證模塊。在設計時必須為用戶在統一身份認證服務中注冊的用戶和該用戶被授權訪問的應用系統中賬號建立關聯。
3.1 目錄數據庫的建立
目錄信息樹(Directory Information Tree,以下簡稱DIT)的結構可以根據組織的結構來確定。設計DIT的原則是使其層次盡量少,當改變DIT的某個組織時,盡量減少對其他部分的影響。DIT的層次越少,對應各條目的DN越短,目錄中的條目受其他條目信息變化的影響就越小。
DIT的根代表學校組織,學校直屬院系和機關作為學校節點的的孩子節點,如果這些院系和機關還有下屬部門,還可以向下產生低層組織節點。為方便用戶管理,將用戶分成用戶類別,如教師、本科生、研究生等,作為組織的孩子節點。至此,學校所有用戶信息都可以保存到目錄數據庫的DIT中。
3.2 單點登錄與應用漫游的實現
實現單點登錄與應用漫游必須做到:用戶在認證服務器上登錄成功后,應用系統能判斷該用戶通過了認證;用戶訪問應用系統的權限保存在目錄中,用戶進入相應的應用系統前,需要從目錄中查詢用戶的權限,因此需要提供一種高效、快速地維護用戶權限的機制。

圖2 統一身份認證系統目錄信息樹體系結構
校園網絡中應用系統的用戶權限復雜,如:信息發布平臺教師和學生都能訪問;成績查詢系統只有學生能訪問;辦公自動化系統只有學校行政機關的教師能夠訪問。分析上述情況,提供以下單點登錄與應用漫游的實現辦法。
對組織授權:目錄信息樹的結構是按學校的組織結構建立的,DIT的根對應學校,根的下一層對應學院和機關部門,如此往下劃分。對組織授予訪問某個應用系統的權限后,該組織下的所有后代條目下的用戶都有了相應的權限。
先建立用戶組,然后對用戶組授權:在DIT中組織下建立新條目,稱為用戶組,該組織下的用戶及其后代組織下的用戶就可以加入用戶組。組織是分層次的,用戶組的作用范圍由其所在的組織的層次決定,對用戶組授權后,用戶組中的所有用戶就有訪問權限。
對用戶組授權有很大的靈活性,對辦公自動化系統,可以在DIT根節點下建立公文組,將各院系、部門有閱文和發文權限的教師加入到這個組,對該組授予訪問辦公自動化系統權限后,各單位有閱文和發文權限的用戶就可以訪問,其他用戶則無法訪問。
3.3 建立統一身份認證Web服務器
統一身份認證服務器提供認證服務、會話服務和目錄管理服務。認證服務管理用戶的認證;會話服務管理用戶的單點登錄標記;目錄管理服務供管理員操作目錄。
3.4 統一身份認證系統在校園信息門戶中的實現
安慶師范學院有教職工及學生近2萬人,校園網絡建設基礎設施建設基本完成,新老校區采用光纖互聯,校園主干網絡采用千兆以太網技術,百兆到桌面。校園網絡基本覆蓋了全校的教學、科研、學生公寓等場所,伴隨著新校區建設的同步進行,截止目前,校園網絡已有近1.5萬個信息點。校園網絡基礎設施的快速發展給安慶師范學院的師生營造了一個良好的網絡環境,為校園信息化建設打下了堅實的基礎。
統一身份認證是安慶師范學院信息化建設的重要內容,目前,學校已建成的應用系統主要包括:辦公自動化系統、綜合教務管理系統、網絡教學平臺系統、郵件系統、圖書館系統等。隨著信息化建設的深入,將會有人事管理系統、科研管理系統、設備管理系統等應用系統的加入。安慶師范學院建設的統一身份認證系統的目的是基于校園信息門戶,建設一個統一管理各個應用系統的用戶數據,最終實現所有應用系統的單點登錄。
3.4.1規劃目錄信息樹
安慶師范學院所有組織隸屬于學校,DIT分為4層,分別是:學校、院系和機關、用戶類別、用戶。將學生分為三類,分別為碩士生、本科生、專科生,如圖2所示。
3.4.2單點登錄與應用漫游的實現
信息發布平臺由認證服務器進行認證,信息發布平臺的用戶數據也由認證服務器通過目錄統一保存。用戶進入安慶師范學院數字化校園統一身份認證界面,輸入用戶名和密碼登錄,用戶名和密碼被發送到認證服務器的認證模塊,由認證服務器判斷與保存在目錄中的數據是否一致。如果一致,用戶獲準進入。
對于統一身份認證,為了更好地集成各應用系統,一般會提供大量的第三方應用的身份接入接口,如修改個人信息/密碼;獲取組織/角色信息等。
系統設計實現了對于用戶的集中管理和授權,同時,通過統一用戶信息管理模塊實現位于異構數據庫中的用戶數據的集中管理,通過應用系統的注冊模塊簡化了應用系統的集成過程,在校園信息化建設中具有一定的應用前景。
統一身份認證的實現需要認證服務端、用戶客戶端和應用系統之間具有良好的銜接,本文設計中提出了實現框架,但由于應用系統的多樣性,在具體實現過程中還有很多工作要做。安全應用的集成是未來發展的重點,運用目錄技術實現對網絡資源使用的統一管理是發展趨勢。
[1] 鄭東曦.Web服務統一身份認證協議[J].華南理工大學學報,2005,33(2).
[2] 張輝.數字校園中基于LDAP的統一用戶身份管理技術研究[J].計算機工程與科學,2005,27(1).
[3] 鄭嵐,陳奇.基于LDAP的統一訪問控制系統的設計與實現[J].計算機工程與設計, 2005,26(7).
[4] 許鑫,蘇新寧.數字化校園中應用集成研究[J].現代圖書情報技術,2005,130(11).
安徽省教育廳自然科學研究基金(產學研重點)項目安慶師范學院校級教學研究項目(2006jy21)