王嬋嬋?高宏
摘 要 論文針對國內數字圖書館存在的數字資源利用率低、安全程度不高、網絡用戶缺乏統一管理等問題,指出了建設國家圖書館統一用戶管理系統的必要性,分析了系統的建設思路和功能需求,并著重介紹了系統的三個核心功能模塊的實現方法,最后對系統的應用情況和發展方向進行了展望。
關鍵詞 SAML 統一用戶管理系統 數字圖書館
分類號 G250.72
DOI 10.16810/j.cnki.1672-514X.2018.04.015
Abstract Since the digital resources utilization rate is low, the security level is not high, and the network users are lacking of unified management in domestic digital libraries, this paper points out that it is necessary to build unified user management system of national digital library of china. It analyzes the construction ideas and functional needs of this system, and particularly introduces how to implement the three core functions, and then discusses its application and the development in the future.
Keywords SAML. Unified user management system. Digital library.
0 引言
近年來,我國數字圖書館領域的研究與實踐一直在向前穩步推進發展[1],在國家數字圖書館工程[2]、推廣工程[3]等重要國家級項目的有力推動,各地數字圖書館陸續啟動建設,但還處在由簡單應用系統堆積向數字化、智能化信息系統集群轉型階段。系統建設缺乏統一規劃,導致管理分散、信息無法共享、系統功能重疊、安全機制缺失等弊端逐漸顯現,這些問題的出現不僅使讀者的使用體驗滿意度大打折扣,同時也增加了系統管理員的工作量和工作復雜程度。上述系統管理模式,已經不能滿足當下數字圖書館的實際需求,需要從全局的高度對數字圖書館應用系統進行統一規劃和建設。
打破應用系統間管理壁壘的基礎是實現用戶數據的集中管理和統一認證,將現有復雜、無序、混亂的認證機制改為高效、科學、安全的網絡認證機制,將對用戶身份的認證功能與分散的應用系統進行剝離,從而達到集中管理、統一認證的目的。單點登錄(Single Sign-On) 技術作為一種有效的身份認證和授權機制[4-5]便可以實現上述需求,解決圖書館面臨的困境。所謂單點登錄是指不同應用系統可通過同一個認證中心實現對用戶身份的認證和授權,而不再需要分別儲存用戶信息和實現認證授權功能。從用戶角度看則只需擁有一套用戶名密碼,就可以登錄體系內任何一個系統,無需二次登陸。
1 國內外單點登錄技術應用情況
國外在單點登錄方面的研究起步較早,已經發展較為成熟。如微軟公司的Microsoft.Net Passport[6],它向用戶提供全互聯網范圍內的身份認證服務。已完成單點登錄集成的網站可利用Microsoft提供的信息庫,由Passport服務進行用戶身份的核驗,再將驗證結果通過URL重定向返回至用戶。在被Passport認證該請求合法后,用戶就可訪問其他使用Passport作為單點登錄服務且共享同個信息庫的Web網站。但不足之處是Passport的解決方案具有一定局限性,只支持windows版的操作系統,且只適用于.Net環境下的服務器。Kerberos協議是由麻省理工大學研究建立的一種身份認證機制[7],其機制核心是通過集中式安全信息存儲和分布式票據存儲來實現對來自不同應用的用戶進行合法性認證,它既不依賴用戶,也不依賴應用服務。安全性斷言標記語言(SAML)[8]是目前國際上單點登錄的相關Web服務安全規范,它在面向Web的應用系統間建立了一種統一的、標準的、安全的信息交換渠道,其最重要的優點就是可以讓用戶的認證信息在互聯網中安全移動。它的建立簡化了面向Web的應用系統間的單點登錄流程,降低了系統架構設計時的復雜程度。
與國外較為成熟的研究和應用相比,國內在單點登錄和用戶統一身份認證等領域的研究和應用仍較為滯后,在公共圖書館領域的應用也并不普遍。多數公共圖書館采用限制IP或安裝C/S架構的客戶端實現身份認證,僅有少數圖書館建立了單點登錄系統,且沒能形成一個整體、統一、規范、完善的解決方案。如廈門市圖書館采用由廣州圖創公司設計開發的Interlib SSO統一身份認證系統[9],以廈門市公共圖書館服務聯合體為基礎平臺,將全市市民信息以及自建和外購數字資源統一納入平臺中,實現廈門市范圍內的用戶統一認證和資源單點登錄,用戶登錄后可在線瀏覽、下載全文。
國家圖書館早在2008年便開始將單點登錄技術應用于數字圖書館用戶的管理與資源服務。同年上線運行的第一代讀者管理系統,采用相對簡單的認證模式,初步實現了資源的遠程訪問服務和用戶管理;2012年開始對系統整體功能進行升級與改造,采用基于SAML的單點登錄模型,設計開發了國家圖書館統一用戶管理系統,并正式投入運行。同時在全國范圍內開展系統試點,部署推廣工作。
2 國家圖書館統一用戶管理系統設計方案
2.1 設計思路
國家圖書館統一用戶管理系統作為國家數字圖書館的配套系統之一,具備互聯網注冊、實名信息在線驗證、用戶身份認證、權限控制等多種功能[10]。同時,該系統為推廣工程體系內的公共圖書館讀者提供跨域認證,以實現館際間的互聯互通。本系統采用B/S結構,以Java語言作為主要開發語言,以Oracle數據庫為底層數據庫,在系統建設時首要考慮系統及數據的安全性與穩定性,并采用標準化的開發語言和調用接口;通過模塊化開發提高系統的靈活性和可伸縮性。
2.2 系統功能需求
建設國家圖書館統一用戶管理系統旨在實現對國家圖書館讀者信息的統一管理、統一認證、統一控制,形成一套標準化、可復制的圖書館用戶統一管理模式。其主要功能應包括:
(1) 提供標準化用戶注冊服務。該系統能夠匯聚各類型用戶信息,實現信息變更、密碼修改、賬號注銷等的全流程化管理。
(2) 提供基于標準化協議的單點登錄服務。用戶只需進行一次身份認證,即可在有效時間內自由訪問不同的外部應用,而無需反復認證。當用戶退出或停留在某個外部應用而長時間未操作時,其他外部應用也隨之自動退出或給出超時提示。同時,提供相應的接口調用程序,便于外部應用集成。
(3) 對用戶權限進行集中管理與控制。系統依據用戶屬性不同賦予其不同角色,同時,系統將外部應用的訪問權限也賦予不同的角色。當用戶發起訪問請求時,系統會根據所保存的“用戶—角色”“角色—應用”的對應關系,給出判斷結果,從而起到控制用戶訪問的作用。
2.3 系統框架及功能描述
綜合以上系統的建設思路和功能需求,確立國家圖書館統一用戶管理系統的總體設計架構(如圖1)。
自助服務模塊主要提供面向用戶的注冊、信息查看與修改、密碼修改等自助服務。管理中心模塊提供面向管理人員的后臺管理和數據同步、審計、統計、監控、數據備份、用戶狀態維護等功能。認證單點服務模塊提供完善的統一認證與單點登錄機制,支持用戶在訪問多個接入的應用系統時,只需執行一次界面登錄動作。查詢服務模塊提供包括查詢服務、批量用戶導入工具、數據采集工具、數據同步服務。
3 系統核心功能模塊實現
用戶信息的匯集與管理、統一身份認證與單點登錄、用戶訪問權限的控制是本系統最為重要和核心的三個功能。
3.1 用戶信息的匯集與管理
國家圖書館統一用戶管理系統的用戶信息來源分為兩類:一是來自于外部應用的推送用戶;二是通過系統注冊功能的原生用戶。
外部推送用戶指那些通過國家圖書館業務集成系統(即Aleph系統)辦理讀者卡的用戶。當Aleph系統中新增用戶信息時,會自動將該用戶的基本信息,包括讀者卡號、身份證號、聯系方式、姓名等信息推送至本系統。而當讀者卡用戶的信息發生變化時,無論讀者是在Aleph系統或者本系統修改,均可以進行雙向實時同步,進而保證用戶信息的唯一性、準確性。原生用戶主要是利用本系統提供的統一的用戶注冊服務進行注冊而生成的用戶。本系統包括接口調用和頁面調用兩種注冊功能調用模式,外部應用可根據實際需要自由選擇。利用此功能,將用戶注冊的功能從外部應用獨立出來,外部應用只需與本系統進行標準化集成,即可實現用戶注冊,進而一定程度上減少了開發和用戶管理成本。而無論用戶通過哪個外部應用注冊,實際上都是在統一用戶管理系統中進行注冊,因而僅需注冊一次即可,無需在訪問每個新的外部應用時再次注冊。
3.2 單點登錄與統一身份認證
該模塊承擔著在用戶、外部應用系統之間建立信任關系、提供安全可靠的身份認證的重要作用。其主要實現的目標是:(1) 提供用戶登錄時的身份驗證,并返回驗證信息和驗證結果;(2) 提供用戶發起應用訪問請求時的權限驗證,并返回相應的驗證結果;(3) 提供用戶登出時的登錄權限注銷。
3.2.1 模塊設計
該模塊由單點登錄功能和統一認證功能兩部分組成(如圖2所示)。
單點登錄功能由斷言管理、用戶狀態管理和身份票據管理三部分組成。斷言管理負責對底層SAML功能的封裝,向單點登錄業務邏輯層提供SAML斷言請求、斷言的生成、發送、解析、附加簽名、驗證簽名等功能。用戶狀態管理負責維護用戶的登錄狀態,管理用戶在登錄、訪問、登出的生命周期過程中的賬戶信息、賬戶管理限制、權限信息、預生成斷言、臨時管理及有效期。票據管理負責對用戶信息進行記錄與保存。
統一認證功能則由實名身份查詢、用戶身份驗證、身份認證三部分組成。其中,實名身份查詢是通過與公安部公民身份認證中心的查詢系統進行接口開發,雙方通過Web Service交互,完成對網絡注冊用戶身份的實名認證工作。用戶身份驗證是提供外部應用依據讀者提交的某個用戶屬性查詢驗證其正確性的服務;身份認證接口是外部應用在認證用戶身份合法性、是否允許其訪問時調用的接口服務。
該模塊通過調用底層的SAML應用、安全服務、客戶端功能等組件獲得基礎功能,其本身具有用戶會話管理、斷言管理、身份權限查詢、單點登錄模式配置等內部功能子模塊;認證服務器通過身份查詢組件獲取用戶的身份信息及權限對應關系,利用Web Service引擎與中心節點服務器和異地單點登錄服務器進行交互;模塊還提供應用集成接口,供外部應用進行集成,從而使外部應用可以在需要調用本系統提供的認證服務。
3.2.2 業務流程
該模塊具體業務流程實現如圖3所示。
(1) 用戶通過瀏覽器訪問某個外部應用系統。
(2) 外部應用系統將獲取到的用戶信息(即用戶票據) 封裝到一個斷言中,并將此斷言發送至認證與單點登錄服務器。
(3) 認證與單點登錄服務器獲取到該斷言請求后,解析斷言請求,獲取用戶票據。同時,根據解析獲取到的用戶信息進行驗證,將驗證結果回寫至斷言中返回外部應用系統。
(4) 外部應用系統根據返回的結果判斷用戶請求的合法性。如果合法,那么外部應用系統會自動在用戶的瀏覽器端為其打開其所要訪問資源;反之,則會根據失敗原因,在瀏覽器端提示用戶從新開啟訪問流程。
3.3 用戶訪問權限的控制
用戶權限控制是對本系統中所有用戶提供外部應用訪問權限的初級控制,即用戶是否有訪問該應用的權限,但對于外部應用內部的細顆粒權限則不屬于本系統的權限控制范圍內。根據國家圖書館用戶多、資源數量多、資源類型多、權限分配方式多樣的實際特點,本系統采用RBAC訪問控制模型[11],即將角色、用戶、資源三者建立對應關系。具體授權方式如圖4所示。其中,用戶1可以訪問數據庫1和數據庫n;用戶2可以訪問數據庫1、數據庫2以及數據庫n。
在本系統中,每個用戶都被賦予一個相應的角色,管理員通過后臺配置將不同的外部應用訪問權限賦予對應的角色,繼而使該角色下的用戶也獲得訪問該應用的權限。此外,不僅可以為角色賦予權限,系統還可以直接為某個確定用戶分配權限,提高管理的實用性。當外部應用向本系統提出認證請求時,系統會根據數據庫中保存的角色與資源數據庫的對應關系,實時給出判斷結果,從而起到控制用戶訪問權限的效果。
4 結語
目前,國家圖書館統一用戶管理系統已正式投入運行,并取得了良好的效果,系統用戶數突破400萬,月增長量保持在萬級水平。同時,借助推廣工程的有利平臺,逐步加大系統的推廣部署范圍,截至“十二五”末,統一用戶管理系統已在全國57家省、市圖書館完成軟件部署應用[12],為一些技術、資金相對匱乏的地區,建立了較為實用、安全性較高的用戶管理系統。
國家圖書館統一用戶管理系統的建設一方面提升國家圖書館用戶的數量和管理效率,另一方面也為推廣工程其他相關配套系統的實施與應用奠定了良好的用戶基礎,打通了館際間的用戶壁壘。下一步,將結合“云”技術、大數據分析、移動互聯網等前沿技術手段,進一步完善系統功能,全面支持移動多媒體需求,加強推廣宣傳力度,逐步形成一個中心、多個分點的覆蓋全國的用戶管理體系。
參考文獻:
趙蓉英,魏緒秋.近十年我國數字圖書館發展態勢研究[J].圖書館學研究,2016(14):22-28,73.
魏大威,孫一鋼.中國國家數字圖書館工程總體設計[J].數字圖書館論壇,2008 (8):23-31.
童忠勇,劉術華,李東杰,等.云計算環境下數字圖書館推廣工程服務模式研究[J].新世紀圖書館,2016(3):67-60.
The Open Group Introduction to Single Sign-On[EB/OL]. [2016-11-13].http://www.opengroup.org/security/sso/sso_intro.htm.
曹世華,趙方.校園網絡單點登錄系統應用研究[J].計算機系統應用,2008(4):69-72.
OPPLIGER R.Microsoft.NET passport:A Security Analysis[J]Computer,2003,36(7):23-30.
戚文靜,姚青.基于Kerberos的企業網安全模型[J].計算機工程與應用,2002,21(13):169-172.
Open SAML[EB/OL].[2016-11-13].http://www.opensaml.org.
黃志平.InterlibSSO統一身份認證平臺應用[J].福建圖書館理論與實踐,2011(3):62-64.
王樂春,鐘晶晶.數字圖書館推廣工程軟件平臺體系設計與實踐研究[J].圖書館理論與實踐,2015(1):1-6.
國家圖書館.國家數字圖書館統一用戶管理系統項目需求書[R].2011.
魏大威,邵燕.“十二五”時期國家數字圖書館的建設與發展[J].國家圖書館學刊,2016(5):3-10.