〔摘 要〕以數字圖書館在網格環境下的發展為背景,對當前流行的GSI安全認證體系,以及PMI多級權限訪問控制模型進行了詳細的分析,并在此基礎上提出了一套完整的數字圖書館權限訪問控制策略。
〔關鍵詞〕部署;數字圖書館;多極授權訪問控制模型
〔中圖分類號〕G250.76 〔文獻標識碼〕A 〔文章編號〕1008-0821(2009)03-0090-03
數字圖書館權限訪問控制策略提供了在網格中需要被關注的安全性解決方案。在此基礎上,本文實現了數字圖書館的安全模型部署,將整個部署分成用戶接口,安全中間件,安全資源服務器3個層面。實現了終端用戶和移動用戶的單點登錄過程。同時,也對安全模型進一步優化,將密鑰托管機制引入網格安全中,將用戶密鑰的安全問題,從簡單的用戶操作系統安全保障或人為保管,轉化為更為安全的服務器統一授權管理。
1 數字圖書館部署框架
安全訪問控制的基本框架,應該獨立于應用系統,減少與數據系統的藕合程度。數字圖書館的資源包括數字信息資源和服務資源。信息資源是存儲在存儲體上的各類文本文件、圖像文件、聲音文件等數字化資源;服務資源包括對文件和數據的查詢、檢索等服務。對這些資源需要實施統一管理,一般采用一個數據服務器對應一個應用系統,獨立于各種安全子系統的授權管理系統,這是數字圖書館資源管理也是網絡資源管理的最主要的安全機制。授權控制框架可以對數字圖書館的各種應用服務進行授權管理,如WWW服務、client/sever:服務、FTP服務、TCP/IP應用、數據庫操作等。授權管理系統能夠提供授權管理、管理和維護授權策略、對象映射、用戶角色等。應用服務系統通過授權應用程序接口獲取授權信息,實施對用戶的訪問控制。在以邏輯模型的基礎上,實現的數字圖書館多級授權機制的物理模型如圖1所示。

數字圖書館授權體系分為2個主體,2個中間層。2個主體,一個是資源主體,一個是用戶主體。用戶主體,考慮到網格的不確定性,應該支持固定用戶和移動辦公用戶,在GSI模型底下,需要對移動用戶的訪問進行進一步的討論:
GSI模型規定,用戶必須擁有靜態的物理IP,也就是說,一般意義上的移動辦公要接入數字圖書館模型需要經過一些改造,最普遍的方法,是移動用戶經過VPN隧道化方式訪問接入網格。
圖中的資源主體,具體化為若干資源服務器,本文只是列舉了數字圖書館一些常見資源服務器,對于一些邊緣應用和非感知應用,可以根據不同的安全級別,納入不同的安全級別的管理中,本文所保護的是數字圖書館的數據資源,我們知道,數據資源是數字圖書館最終和最重要的信息資源,數字圖書館的安全問題,最終會歸納到不同信息的公開化程度問題,也就是如何保證信息不被非法傳播的問題。
兩個中間層分別是OGCE portal門戶和用戶代理中間件,橋接著用戶和資源主體,OGLE必須架設在可見的網格邊緣,網格邊緣的概念是,對外的訪問不需要經過第三方橋接,類似于我們常說的內外網的概念,MyProxy用戶代理,雖然用戶不需要感知地訪問,但由于需要向客戶端下發代理證書信息,也同樣需要被暴露。進入交互后,模型進入資源界面,如圖2,用戶可以自行選擇需訪問的資源進行訪問,并且,系統屏蔽了用戶無法訪問的數字資源。

2 數字圖書館部署
本模型的物理部署如下:
2.1 客戶端
支持Linux和Window:操作系統,為了支持Window操作系統,必須對Globus進行一些特定的數據遷移工作:由于Globus的安全問題,需要使用證書才能訪問服務。這里,有3種證書,分別是CA證書、用戶證書和代理證書。我們可以從已經安裝好Globus的Linux主機上將用戶證書(連同用戶的私鑰)和CA證書一同拷貝到Windows上使用。
2.2 OGCE安全門戶
門戶采用Java+Tomcat的傳統的B/S模式構建,B/S結構與客戶端無關性能夠良好的屏蔽各種因為客戶端或者用戶問題所造成的系統使用和維護的困難,并且易于部署和集中化管理,本模塊運行在Linux服務器中,OGCE服務器必須部署在網格邊緣,能夠滿足不同鏈路的用戶的訪問需求。
2.3 MyProxy中間件
本文為了節約服務器成本,將MyProxy中間件于某些服務器重復使用(如OGCE服務器),因為下發代理證書的過程對資源的占用情況很小,基本上不需要太多的額外開支。
2.4 后臺數據庫服務器
存放數字圖書館數字資源的主要載體,根據需求由不同的服務器承擔,大型的數字圖書館一般采用SAN存儲陣列,對數據進行物理保存,并有專門的訪問服務器進行訪問控制,后臺數字資源的訪問控制模塊OGSA就是部署在專門的訪問服務器中。
2.5 網絡環境
本文能在具備有獨立的公網的IP地址的網絡環境中正常部署,且服務器和中間件前后端必須滿足數據交換的端口需要,如Web服務80端口,SSL的443端口都需要開放。
3 本模型安全性討論
數字圖書館的分布式存儲需求,是網格應用在數字圖書館中的主要原因。網格在給分布式存儲帶來方便的同時,也增加了網格安全的復雜度。本模型采用的認證體系,主要從以下幾個方面解決該問題:
3.1 如何將用戶隔離在不同的權限區域中
本模型采用PMI模型思想將用戶權限,通過虛擬組織進行劃分,不同的虛擬組織對應不同的資源權限組,這樣的多對多的權限映射,能將用戶權限最大程度地控制在可信任區域的范圍內。模型中OGCE提供了用戶權限組的劃分,后臺OGSA提供了資源權限組的劃分。
3.2 如何控制用戶的訪問接口
對于用戶而言,資源的獲取可以有若干種途徑,本安全體系將用戶獲取資源的途徑,統一使用OGCE單點登錄模型管理,避免出現多URL入口的訪問漏洞,減少數字資源泄露的途徑。
3.3 如何控制用戶客戶端的安全性影響
系統的安全很大程度上取決于使用者的安全意識,本安全模型提出了密鑰全托管的思想,旨在將用戶密鑰的保存點,從不安全的使用者客戶端,轉移到安全的可信任第四方。降低用戶安全性的對系統安全性的影響,并能為密鑰集中管理回收發放提供便利條件。
目前網格安全還存在一些問題沒有解決,比如:
3.3.1 沒有入侵檢測技術
目前的網格安全技術主要集中在開發制定各種安全協議,以防止未經授權的非法用戶的訪問。但如果想要網格真正應用好還必須研究網格環境下的入侵檢測技術,并努力減輕這種入侵所產生的破壞作用。網格安全要到達的最終效果,是要使得網格即使是在遭到攻擊的情況下,仍然能夠持續不斷地提供一定的服務質量。
3.3.2 沒有持續監控技術
對網格安全體系結構的一個至關緊要的要求就是對虛擬組織的安全狀態持續監控。通常,虛擬組織中某一成員的安全策略的改變,會影響到組織中的其他成員,但是這種影響只有當它產生的后果發生時才會被檢測出來。因此對于虛擬組織中的安全策略的改變的持續監控就顯得非常重要。開發網格時必須同時建立軟件質量保障機制。只有這樣,才能避免由于缺乏良好安全機制而導致整個網格框架的崩潰。
3.3.3 動態控制技術
過于復雜的安全機制會對網格的運行效果產生不好的影響。雖然一些高度敏感的應用也許會需要復雜的安全機制,但對于其他的應用來說卻有可能變成一種負擔。因此,這就要求能根據實際運行時所掌握的狀況來動態控制網格安全的級別。但實際確實難以做到。
網格就是要通過開放的網絡環境向用戶提供服務,這就不可避免地要涉及到網絡安全問題,并且網格的目標就是要實現更大范圍和更深層次的資源共享,所以它存在更重要的安全問題,并提出了更高的安全需求。隨著網格安全技術不斷解決上述問題以及相關的經濟和法律上的配套的完善,一定能夠確保數據資源等的安全性,從而使得網格的大規模開展成為可能。
4 本模型的容量測試
性能測試的目標是驗證在各種負載情況下數字圖書館網格服務的性能。進行性能測試的最佳方式是使得多個測試客戶運行完整的網格服務測試,包括請求提交和應答驗證。性能測試不僅通過指定的并發請求數目來監視服務器的響應速率,還要測試各類負載是否導致網格服務功能性故障。因此,要求網格軟件性能測試工具能夠設置或者定制性能測試場景(主要是指定負載等級、負載分布等)來執行網格性能測試套件。根據高性能計算系統常見的應用場景,網格軟件性能測試工具可設置的場景主要包括bell曲線、緩沖區測試、線性增加和穩定負載。這樣,通過使用不同的測試場景來使用不同的測試用例,同時還應支持跨越遠端的網格服務器分布虛擬用戶,從而模擬極限測試與壓力測試。
本文采用的測試模型是:①將用戶直接連接到單點CA服務器上訪問數字資源;②將用戶放入網格環境中連接OGCE portal門戶訪問數字資源;③壓力測試,模擬I00用戶分別通過CA和OGCE訪問數字資源。
模擬用戶,可以編寫OGCE登錄腳本從幾臺實驗客戶端并發向OGCE發送請求。
具體做法如下:
①統一所有服務器的NTP(網絡時間協議)將網絡時間的誤差控制在最小范圍,列舉需要記錄時間的幾個模塊,由于模塊間并不是串聯通信,所以必須進行一定的數學計算,時間的精確程度直接影響測算的準確度。
②在用戶環境下記錄Session發起時間,以點擊鼠標的時間為準,此處沒有專門的程序記錄Log日志,為純人工操作。
③將單用戶訪問時,Session建立的起止時間記錄在log文件中。建立Session時,在前臺JSP頁面傳輸CurrentTime到后臺Java環境中,并記錄在OGCE服務器中。
④將MyProxy向用戶下發代理證書時間記錄在MyProxy服務器的Log文件中。
⑤將Session建立時間和Session發起時間取差值。計算OGCE響應時間。類似可計算MyProxy證書下發響應時間與資源服務器響應時間。
得出的數據如表1:

從數據上我們不難看出,該模型的主要瓶頸,并不在于門戶和中間層用戶代理,相反,資源服務器的負荷是制約容量的最大瓶頸,這也與一般的網絡資源訪問架構一致,證明,網格安全在應用上不存在著先天性的硬傷,網絡的發展以及服務器的發展,是增大數據容量的最重要的因素。
5 模型的改進過程
可信任的第四方的密鑰托管機制,這也是作者在本次模型中尚未實現的模塊,但作者認為,密鑰托管在這個模型中有很重要的意義,(1)從安全性角度上講,密鑰托管,將保管密鑰的工作從客戶端轉化到可信任的服務器端,這使密鑰的管理更加集中,也避免了不安全的客戶端導致的網絡和服務器安全問題,避免將密鑰安全轉嫁到客戶端系統安全中。
(2)密鑰托管,為移動用戶提供了新的密鑰遷移思路,如果密鑰非主機綁定(這也是GSI的一個特點,也是本模塊實現的難點),則密鑰遷移可以減少新證書頒發的頻率,減輕CA服務器的負擔,對于密鑰的可重復使用有著很重要的現實意義。
(3)密鑰托管機制,可以進一步加強權限控制管理,CA的職能是控制密鑰的頒發,而密鑰托管機構則是控制密鑰的可用性,在分布式CA的狀態下,統一的密鑰管理,可以對密鑰的作廢和更新進行集中的規劃,對密鑰的權限進行進一步的劃分,這樣,MyProxy的部分職能也就轉嫁到密鑰托管中心。
參考文獻
[1]田華,鄢喜愛.圖書館數據庫安全技術研究[J].重慶圖情研究,2007,(2):11-13,17.
[2]王偉,李小鵬,張明果.圖書館INTRANET網絡及信息系統的安全技術[J].情報雜志,2001,(3):41-43.
[3]Keahey K,Welch V.Fine-grain authorization for resource management in the G rid environment.Proc.of Grid2002 Workshop,2002.2.
[4]Tuecke S,Czajkowski K,Foster I.Open Grid Services Infrastructure(OGSI)Version 1.0.[R].Global Grid Forum,2003.4.