張偉誠,艾麗蓉
(西北工業(yè)大學(xué)計算機學(xué)院,陜西 西安 710129)
與Internet上的信息不同,內(nèi)聯(lián)網(wǎng)絡(luò)中信息結(jié)構(gòu)和存儲更為復(fù)雜多樣。就存儲而言,內(nèi)聯(lián)網(wǎng)絡(luò)中信息分布在數(shù)據(jù)庫、郵件服務(wù)器、Web頁、其他協(xié)作軟件、文檔庫、文件服務(wù)器和桌面中。內(nèi)聯(lián)網(wǎng)中信息的組織形式不僅僅有一般互聯(lián)網(wǎng)中結(jié)構(gòu)化信息形式,而且還有大量非結(jié)構(gòu)化信息。內(nèi)聯(lián)網(wǎng)絡(luò)中信息的這些特點就要求搜索引擎必須能全面、可跨結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)源,以及能夠搜索每一個角落,而且還要保證其安全性。如果用戶角色沒有被授予訪問文檔、電子郵件或者記錄的權(quán)限,甚至該信息是否存在也不應(yīng)讓其知道。這種帶有訪問控制的搜索引擎即為安全搜索引擎。
從安全搜索引擎中搜索安全性方面,本文提出一種基于索引過濾的訪問控制策略,能較好地實現(xiàn)內(nèi)聯(lián)網(wǎng)搜索引擎的訪問控制。
安全搜索引擎的系統(tǒng)框架與傳統(tǒng)的搜索引擎相比,安全搜索引擎在結(jié)構(gòu)上并沒有太大的差異,所不同的是,安全搜索引擎系統(tǒng)多了2個部分:單點登錄模塊和安全過濾模塊。
(1)單點登錄是實現(xiàn)基于訪問控制的安全搜索引擎的先決條件。單點登錄(SSO,Single Sign-on)是一種方便用戶訪問多個系統(tǒng)的技術(shù),用戶只需在登錄時進行一次注冊,就可以在多個系統(tǒng)間自由穿梭,不必重復(fù)輸入用戶名和密碼來確定身份。
(2)安全過濾是實現(xiàn)基于訪問控制的安全搜索引擎的技術(shù)關(guān)鍵。如何實現(xiàn)安全過濾,才能保障具有不同訪問權(quán)限的用戶在使用安全搜索引擎時,訪問到用戶角色所能訪問的資源,是搜索引擎在訪問控制上的具體實現(xiàn)。通過對搜索引擎的實現(xiàn)過程研究,可以從檢索和爬行過程入手來實現(xiàn)搜索引擎的訪問控制,即檢索過濾策略和索引過濾策略。
(1)檢索過濾策略。在用戶查詢時,根據(jù)用戶的訪問權(quán)限對索引結(jié)果進行過濾,返回索引文件中用戶授控的資源。在用戶提交查詢條件,搜索程序在索引文件中檢索出符合查詢條件的鏈接。查詢出的符合查詢條件的鏈接被提交給安全過濾器,安全過濾器從受控資源的授權(quán)描述節(jié)點獲得每個鏈接被授權(quán)訪問的所有用戶,安全過濾器的過濾結(jié)果為提交查詢的用戶所授權(quán)訪問的滿足用戶查詢條件的所有鏈接,安全過濾器所返回的所有鏈接交給排序器,根據(jù)排序策略對這些鏈接進行排序,經(jīng)過排序后的鏈接最終顯示在用戶面前,顯示結(jié)果包括這些鏈接的快照。
(2)索引過濾策略是從索引文件出發(fā),在索引文件中加入訪問控制策略的思想。在建立索引時,建立的索引文件根據(jù)資源節(jié)點描述的信息進行分組,分別存放。在提交查詢以后,根據(jù)用戶的授權(quán)描述信息,找到具有用戶權(quán)限的資源節(jié)點對應(yīng)的索引文件段(1個或者多個),提交檢索器進行檢索,最后將檢索結(jié)果排序,生成快照,返回給用戶。
檢索過濾策略建立的索引文件更小,爬行的時間也更快,減輕了服務(wù)器的壓力。但是在檢索過程,安全過濾策略時間卻遠(yuǎn)遠(yuǎn)的大于索引過濾策略所需要的時間,用戶搜索結(jié)果返回時間更長。索引過濾策略,雖然建立的索引更大,爬行的時間也更慢,但是卻能夠快速地返回搜索結(jié)果,更加貼近用戶。實踐證明,索引文件的大小相對索引對象的大小要小得多,對于一個幾百G甚至于T級別的硬盤簡直微乎其微。而且,由于爬行的過程是在服務(wù)器端進行,建立索引過程對用戶的搜索影響也很小。同時,檢索過濾對于資源信息的描述過于復(fù)雜,不適用于各種不同Web系統(tǒng)。
所以,索引過濾策略更加適合于安全搜索引擎中安全過濾模塊的實現(xiàn)。
基于索引過濾思想實現(xiàn)搜索引擎訪問控制策略體現(xiàn)在搜索引擎的幾個基礎(chǔ)模塊,具體實現(xiàn)原理如下:
(1)爬行中帶訪問控制。爬行器的爬行工作,不再是傳統(tǒng)搜索引擎對公共資源的爬行,爬行器應(yīng)當(dāng)同其他用戶一樣,作為訪問控制的一個主體。受爬行系統(tǒng)內(nèi)訪問權(quán)限的約束,提供給爬行器系統(tǒng)的某一個角色,使其爬行該角色所對應(yīng)的能訪問的客體資源。
(2)具有訪問控制信息的索引。由于爬行器的爬行過程是帶權(quán)訪問,不同權(quán)限的爬行器爬行的資源是不一樣,所以為它們建立的索引也應(yīng)該與爬行的內(nèi)容相一致,所謂的一致,并非僅僅指內(nèi)容上的一致,還包括權(quán)限信息上的一致,索引內(nèi)部應(yīng)該包含索引內(nèi)容對應(yīng)的權(quán)限信息,如系統(tǒng)對應(yīng)的分組、角色等信息。
(3)索引文件的過濾。用戶提交查詢,根據(jù)用戶的訪問權(quán)限信息,與系統(tǒng)具有相同訪問權(quán)限信息的索引文件進行匹配,得到用戶訪問權(quán)限的索引文件。
(4)檢索系統(tǒng)根據(jù)用戶提交查詢關(guān)鍵字,在匹配的索引文件進行檢索,得到用戶訪問控制權(quán)限所對應(yīng)的資源鏈接。
基于索引過濾實現(xiàn)具有訪問控制搜索引擎,需要在原有的搜索引擎的基礎(chǔ)上進行必要的改進,使其能夠應(yīng)用于具有訪問控制信息的系統(tǒng)。在搜索引擎中的不同階段有不同的工作流程,改進后搜索準(zhǔn)備階段的工作流程如圖1所示。
圖1 準(zhǔn)備階段工作流程
在圖1中,爬行器根據(jù)資源授權(quán)描述信息,對不同訪問控制權(quán)限的資源分別進行爬行。索引器根據(jù)爬行器的訪問控制的資源建立索引,索引文件是帶有訪問控制信息的索引文件。
根據(jù)訪問控制需求,用戶使用階段改進后的工作流程如圖2所示。
圖2 用戶使用階段工作流程
利用單點登錄技術(shù),用戶登錄后,可以訪問所有對其進行了授權(quán)的資源節(jié)點的資源。同時,利用單點登錄可以實現(xiàn)用戶跨域角色信息的匹配,方便用戶一次登錄多處搜索。用戶提交搜索的條件給檢索器,檢索器首先根據(jù)用戶的訪問權(quán)限,對索引文件進行匹配,得到用戶訪問權(quán)限的索引文件,然后對索引文件進行檢索,得到用戶的訪問權(quán)限資源鏈接。
根據(jù)索引過濾策略的實現(xiàn)原理,本文提出安全搜索引擎的實現(xiàn)方案。在內(nèi)部網(wǎng)絡(luò)上基于索引過濾策略實現(xiàn)帶訪問控制的安全搜索引擎的框架如圖3所示。
圖3 搜索引擎系統(tǒng)實現(xiàn)框架
搜索引擎系統(tǒng)提供爬行器(Crawler)能夠快速訪問內(nèi)部網(wǎng)信息資源,為了實現(xiàn)授權(quán)用戶能夠搜索到其有權(quán)訪問的資源,在爬行器開始工作之前,這些網(wǎng)站必須到搜索引擎處進行注冊,同時對其訪問控制策略及其接受訪問控制的資源進行描述,使得爬行器獲得這些描述信息后,即可通過爬行獲取各網(wǎng)站接受訪問控制的資源,據(jù)此建立索引文件?;诖怂饕谇岸颂峁┗谠L問控制的內(nèi)部網(wǎng)搜索引擎,當(dāng)用戶進行搜索時,在索引文件中可以搜索出所有滿足用戶條件的資源,但只能將對用戶進行了授權(quán)的資源反饋給用戶,需要對搜索出的資源進行安全過濾。最后,系統(tǒng)將過濾后的結(jié)果經(jīng)排序處理后返回給用戶。
當(dāng)今,在政府辦公系統(tǒng)以及大型企業(yè)事業(yè)單位的日常信息處理過程中,通常對信息具有各種不同的安全要求,因此內(nèi)聯(lián)網(wǎng)絡(luò)信息帶有明顯的分級安全特性。本文針對實現(xiàn)安全搜索問題,提出了一種基于索引過濾的訪問控制策略,保證了不同用戶搜索信息的準(zhǔn)備性和安全性,具有較好的實際應(yīng)用效果,適合政府和事業(yè)單位內(nèi)部網(wǎng)信息的查詢和搜索。
[1]李小明,劉建國.搜索引擎技術(shù)及趨勢[J].中國計算機用戶,2000(9):27-28.
[2]北京拓爾思(TRS)技術(shù)有限公司.TRS企業(yè)搜索引擎白皮書[Z].2007.
[3]佚名.雅虎IBM聯(lián)手推免費信息搜索軟件[J].電子商務(wù),2007:89.
[4]朱恒亨.安全搜索引擎中的訪問控制策略研究[D].武漢:華中科技大學(xué),2009.
[5]RodrigoL,Benjamins V R,Contreras J,et al.A semantic search engine for the international relation sector[C]//International Semantic Web Conference,ISWC 2005.2005:1002-1015.
[6]王福荃.企業(yè)信息搜索軟件——IBMOmniFind特性簡介[DB/OL].http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0711wangfq/,2007-11-12.
[7]曲成義.電子政務(wù)安全保障體系探索[J].信息技術(shù)與標(biāo)準(zhǔn)化,2003(11):19-23.
[8]賀兆輝.“門戶+搜索”打造政府門戶網(wǎng)站建設(shè)新模式[J].電子政務(wù),2006(5):14-16.
[9]朱俊卿.搜索引擎Google研究[J].現(xiàn)代圖書情報技術(shù),2002(1):45-47.
[10]Lupu E C,Marriott D A,Sloman M S,et al.A policy based role framework for access control[C]//Proceedings of the First ACM Workshop on Role-based Access Control.1995:28-39.
[11]劉懷宇,李偉琴.淺談訪問控制技術(shù)[J].電子展望與決策,1999(1):42-46.
[12]鄧集波,洪帆.基于任務(wù)的訪問控制模型[J].軟件學(xué)報,2003,14(1):76-82.
[13]沈海波,洪帆.面向Web服務(wù)的基于屬性的訪問控制研究[J].計算機科學(xué),2006,33(4):92-96.
[14]劉宏月,范九倫,馬建峰.訪問控制技術(shù)研究進展[J].小型微型計算機系統(tǒng),2004,25(1):56-59.
[15]嚴(yán)悍,張宏,許滿武.基于角色訪問控制對象建模及實現(xiàn)[J].計算機學(xué)報,2000,23(10):1064-1071.