專利名稱::分布式密文全文檢索系統(tǒng)的制作方法
技術領域:
:本發(fā)明屬于計算機檢索
技術領域:
,具體涉及一種分布式環(huán)境下的密文全文檢索系統(tǒng)。
背景技術:
:隨著通信、計算機及信息技術的發(fā)展,在黨政機關、企事業(yè)單位、財政金融、國防軍工等相關部門中,信息的保有量和交流量都達到了前所未有的數量級,如何在這海量信息中快速地找到需要的信息已成為迫切的需求。與此同時,很多商業(yè)組織和國家涉密機構需要在網絡環(huán)境中存儲和處理大量涉密文檔,盡管全文檢索和加密技術都已相對成熟并且有較好的商業(yè)產品出現(xiàn),但是如何在分布式環(huán)境中高效地存儲和檢索這些涉密的非結構化文本數據,已成為一個急待解決的研究課題。國外的全文檢索技術已經發(fā)展得較為成熟,對于比較復雜的Internet,已經有不少頗具影響的大型全文檢索工具,如Google、Yahoo等,這些系統(tǒng)收集了Internet上幾百萬至上億的主頁,對它們建立了全文檢索索引庫,使用戶能在Internet上快速查找到自己所需的信息。但對中文用戶而言,國外的全文檢索技術有很多不適用的地方。中文全文檢索技術在原理上同西文全文檢索是一致的,但漢字本身的特點使中文系統(tǒng)的實現(xiàn)比西文系統(tǒng)更為復雜。因此,國外許多完善的全文檢索系統(tǒng)很難應用于處理漢字信息。我國對全文檢索技術的研究已經有一段時間了,也取得了一定的成果。自主中文全文檢索技術已經達到了較高水平,在傳統(tǒng)市場也獲得了很高的占有率。主要集中在漢字全文檢索、超文本全文檢索、網絡環(huán)境下的全文檢索技術等方面。中文全文檢索技術的研發(fā)始于1987年左右,目前已經商品化的軟件有近10種。國內廠商自主開發(fā)的全文檢索系統(tǒng)居于領先地位,市場占有率超過90%以上,包括易寶北信的智能全文檢索系統(tǒng)TRS、中國科技信息所的QuickIMS、南辰電腦公司的南辰多媒體全文檢索系統(tǒng)、浙江經濟信息中心的天宇(CGRS)等。東方龍馬公司開發(fā)的中文全文檢索系統(tǒng)Wisebase以及北京大學方正出版系統(tǒng)工程公司推出的方正淵博信息檢索系統(tǒng)等?;赪WW網的中文全文檢索系統(tǒng)也有很多,典型的有百度(Baidu)、谷歌(Google中文)等,其它如北京大學開發(fā)和維護的"天網搜索"以及華南理工大學提供的"木棉搜索",它們都能夠對分布在中國教育科研網的主要站點上的有關信息進行全文檢索,不過這些網上全文檢索應用目前還都處于實驗階段,檢索范圍以及索引庫維護等問題尚未得到很好解決。雖然目前全文檢索的技術已經比較成熟,而且得到了廣泛的應用,但在安全性能上還遠不能滿足用戶的實際需求。隨著信息系統(tǒng)在辦公和商用領域的廣泛應用和開展,雖然極大地提高了辦公效率,但也給信息系統(tǒng)帶來了新的安全方面問題。信息安全一直是所有信息化系統(tǒng)建設中一個不可回避而且十分緊迫、重要的問題。在國防、安全、公安、外交、商務、金融等高涉密單位,文獻信息資源的檢索利用必須建立在高安全等級的基礎之上。而目前市場上并無基于密文的全文檢索產品,開發(fā)分布式密文全文檢索系統(tǒng)正是在實施高安全等級環(huán)境下海量信息共享應用背景下提出的迫切需求。雖然全文檢索技術和加密算法都已經非常的成熟并且有很好的商業(yè)產品出現(xiàn),但是如何在分布式環(huán)境中實現(xiàn)密文全文檢索,在國內外的相關研究和產品領域內仍然還是空白。分布式環(huán)境下加密技術和全文索引的結合有很多難點,首先,為了保證索引信息的安全可靠,對于索引項的信息必須是經過加密處理的,而經過加密技術處理之后,密文信息就不能采用明文狀態(tài)下的匹配技術進行處理,因此經過加密技術處理之后的文本信息是不能與現(xiàn)有全文檢索機制直接結合而實現(xiàn)密文全文檢索的。其次,現(xiàn)有的全文檢索系統(tǒng)往往是構建全文索引,從而索引的數據量往往很大,而加密技術會進一步帶來信息量的增大。因此將索引分布式地存儲能有較解決這一問題,但在分布式環(huán)境下構建密文全文檢索的實用系統(tǒng),把加密技術引入全文檢索系統(tǒng)中效率問題是必須予以考慮及高度重視的。
發(fā)明內容本發(fā)明的目的在于提供一種分布式密文全文檢索系統(tǒng),該檢索系統(tǒng)具有安全性強、執(zhí)行效率高和可擴展性強的特點。本發(fā)明提供的分布式密文全文檢索系統(tǒng),其特征在于該系統(tǒng)包括數據庫、登錄模塊、查詢模塊、結果集顯示模塊、文檔管理模塊、索引模塊、審計管理模塊、用戶管理模塊和權限管理模塊;數據庫用于存儲用戶及用戶權限方面的信息;登錄模塊用于接收來自用戶輸入信息的服務請求,通過與數據庫的信息交互,對服務請求進行驗證,驗證成功則允許用戶進入系統(tǒng),并且在登錄模塊獲得該用戶在數據庫中的相關信息,保存在會話中;當用戶以管理員身份成功登錄時,則進入后臺管理首頁的界面,并能夠選擇對審計管理模塊、用戶管理模塊和權限管理模塊這三個模塊進行管理;當用戶以普通用戶身份成功登錄時,則進入査詢模塊;如果驗證失敗,則拒絕用戶進入系統(tǒng);不管用戶是否成功登錄系統(tǒng),都需要把用戶的登錄操作信息加入數據庫中,以便日后追溯;查詢模塊用于接收用戶輸入的檢索信息,將此檢索信息記錄到數據庫中,并對檢索信息進行分詞、加密得到密文檢索詞,然后將所有密文檢索詞進行Hash運算,分別映射到相應的密文索引服務器中的密文索引庫進行査詢匹配,這些密文索引庫返回和檢索詞匹配并且用戶有權訪問的所有文檔信息(稱為結果集),根據各檢索詞匹配返回的結果集進行合并處理后排序,將排序后的結果集交給結果集顯示模塊處理;其中,密文索引服務器是專門用來構建和存儲密文索引的計算機,本系統(tǒng)中共有n臺密文索引服務器,n為正整數;結果集顯示模塊用于接收來自查詢模塊的結果集,并根據相應密文文檔庫的信息來建立結果集的文摘信息和快照信息,并將用戶査看快照信息的記錄存儲于數據庫中;文檔管理模塊對原始純文本文件進行加密處理,通過對密文文檔名進行Hash處理,將這些密文文檔映射到若干個密文文檔服務器上存儲,形成分布式的密文文檔庫;此外,文檔管理模塊還為索引模塊提供所有純文本文件的內容和標題信息;其中,密文文檔服務器是專門用來存儲密文文檔的計算機,本系統(tǒng)中共有m臺密文文檔服務器,m為正整數;索引模塊接收來自文檔管理模塊的純文本文件的內容和標題信息,利用分詞策略對純文本文件的內容和標題信息進行分詞處理,得到索引詞,然后加密索引詞,再將加密后的索引詞進行Hash運算,映射到若干個密文索引服務器上,并結合文檔相關信息(如文檔級別)建立分布式的密文索引庫;審計管理模塊主要是對用戶的所有操作提供查詢功能,可以通過用戶IP地址、用戶名和時間范圍來對用戶的操作進行查詢,還可查詢某個檢索內容被哪些用戶查詢過;審計管理模塊接收來自用戶輸入的查詢信息,通過與數據庫的信息交互,獲得滿足査詢條件的所有記錄;這些記錄主要涉及前臺用戶的登錄操作,檢索信息和查看快照操作的記錄,后臺的用戶和級別的添加、刪除、修改操作記錄;用戶管理模塊用于接收來自管理員的操作請求,對用戶信息進行相應的管理,并與數據庫進行交互;分別實現(xiàn)了顯示用戶信息,添加用戶信息,刪除用戶信息,修改用戶信息等功能,并將管理員的操作記入數據庫中;權限管理模塊用于接收來自管理員的操作請求,對用戶權限,文檔權限進行相應的管理,并與數據庫進行交互;其中用戶權限管理實現(xiàn)了顯示用戶權限信息,添加用戶權限信息,刪除用戶權限信息,修改用戶權限信息功能;文檔權限管理實現(xiàn)了顯示文檔權限,添加文檔權限,刪除文檔權限,修改文檔權限等功能;此外,權限管理模塊將管理員的操作記入數據庫中。本發(fā)明系統(tǒng)將密文索引和密文文檔分別采用哈希(Hash)的方式進行分布式存儲,并且結合訪問控制技術對密文文檔進行高效全文檢索以及動態(tài)地變更索引的密鑰以保證系統(tǒng)的安全性。,本發(fā)明系統(tǒng)可以實現(xiàn)分布式條件下的密文全文信息檢索,保證了敏感數據的安全性檢索。具體而言,本發(fā)明具有如下優(yōu)點-(1)安全性強本系統(tǒng)的安全性主要是通過分布式存儲、加密處理、訪問控制及審計來達到的。在本系統(tǒng)中,放在密文文檔和密文索引服務器上面的所有的信息都是密文的,這樣保證了敏感信息的安全性。在信息査詢過程中,只有擁有査看文檔級別的用戶才可以檢索到該文檔,這樣也進一步保證了防止信息泄密。審計部分記錄了所有用戶的一些關鍵性的操作,便于追溯,又進一步的保證了系統(tǒng)的安全性。更重要的是,密文索引是分布式地存儲于若干個密文索弓I服務器上,攻擊者很難同時獲得所有密文索引服務器上索引庫的信息。(2)執(zhí)行效率高本系統(tǒng)主要用于密文的全文信息檢索,因而要求有較高的執(zhí)行效率。在本系統(tǒng)中,建索引的過程就充分考慮了效率問題,將訪問控制信息加入到索引中,用戶檢索到的文檔都是其有權限能夠訪問到的文檔。此外,服務器上緩存有用戶近期檢索的一些檢索詞對應的結果集,可以提高用戶下次檢索這些詞的效率。最后,在顯示用戶檢索信息前,系統(tǒng)對這些檢索到的信息進行優(yōu)化排序,讓用戶能夠盡快的得到自己想要的(3)可擴展性強本系統(tǒng)的開發(fā)是基于分布式環(huán)境的,密文索引詞通過Hash算法映射到若干個密文索引服務器上存儲。同時,密文文檔也采用Hash算法映射到若干個密文文檔服務器上存儲。這樣在很大程度上減輕了服務器的負擔,因此可擴展性強。圖1是本發(fā)明系統(tǒng)的體系結構圖;圖2是本發(fā)明系統(tǒng)的結構示意圖;圖3是登錄模塊的過程圖;,圖4是查詢模塊的過程圖5是結果集顯示模塊的過程圖;圖6是分布式密文文檔庫的構建圖;圖7是分布式密文索引庫的構建圖;圖8是詞索引構建結構圖;圖9是索引模塊的過程圖。具體實施例方式如圖l所示,本發(fā)明系統(tǒng)的功能可以劃分為構建密文索引、密文全文查詢和后臺管理。從結構上而言,本發(fā)明系統(tǒng)包括數據庫100、登錄模塊200、查詢模塊300、結果集顯示模塊400、文檔管理模塊500、索引模塊600、審計管理模塊700、用戶管理模塊800和權限管理模塊900。下面結合附圖和實例分別對各模塊作進一步詳細的說明。如圖2所示,數據庫100存儲的數據包括用戶信息庫110、用戶級別信息庫120和文檔級別信息庫130和審計信息庫140。其中用戶信息庫110主要包括用戶名、密碼、MD5值和用戶級別名稱,還可以增設性別、年齡、電話和地址等信息;用戶級別信息庫120包括用戶級別名稱和用戶級別值;文檔級別信息庫130包括文檔級別名稱和文檔級別值,并且它是事先定義好的,一般不需要改動里面的信息。審計信息庫140包括用戶名、IP地址、操作內容和操作時間等信息。數據庫100接收來自登錄模塊200的查詢請求,在用戶信息庫110中進行查詢匹配,反饋信息給登錄模塊200,同時將用戶登錄操作的記錄加入數據庫100的審計信息庫140中;數據庫100接收來自查詢模塊300的査詢信息,將用戶的査詢信息記載到審計信息庫140中;數據庫100接收來自結果集顯示模塊400的信息,將用戶的查看操作記載到審計數據庫140中;數據庫100接收來自審計管理模塊700的査詢請求,在審計信息庫140中查詢匹配,反饋信息到審計管理模塊700;數據庫IOO接收來自用戶管理模塊800的查詢、添加、修改、刪除操作請求,在用戶信息庫110中進行相應的處理,反饋信息給用戶管理模塊800;數據庫IOO接收來自權限管理模塊900的查詢、添加、修改、刪除操作請求,在用戶級別信息庫120、文檔級別信息庫130中進行相應的處理,反饋信息給權限管理模塊900。登錄模塊200是整個系統(tǒng)的入口,它包括用戶名驗證模塊210、密碼驗證模塊220和校驗模塊230。用戶名驗證模塊210用于將用戶登錄系統(tǒng)時輸入的用戶名信息與數據12庫100的用戶信息庫110進行匹配,如果匹配成功,說明數據庫中存在該用戶的紀錄,用戶名是正確的;如果匹配不成功,說明數據庫中不存在該用戶,用戶名是錯誤的。密碼驗證模塊220用于從數據庫100的用戶信息庫110中獲得該用戶密碼并進行解密,然后和用戶登錄系統(tǒng)時輸入的密碼進行匹配,看用戶輸入的密碼是否正確。校驗模塊230采用MD5(Message-Digestalgorithm5,信息-摘要算法),用于驗證數據庫中存儲的密碼是否被惡意改變過。當某個用戶的密碼被竄改了,惡意攻擊者仍然無法通過這個用戶名和竄改的密碼進入系統(tǒng),因為MD5的校驗將會失敗。這樣進一步保證了系統(tǒng)的安全性。如圖3所示,登錄模塊200負責(1)接收來自用戶輸入的登錄信息,將信息提交給系統(tǒng),系統(tǒng)會根據用戶名在數據庫100的用戶信息庫110中去檢索是否有此用戶名存在,如果此用戶名不存在,則轉到(6),否則就會從用戶信息庫110中獲取該用戶名的其它相關信息(如密碼、用戶級別、MD5信息),并保存在會話中;(2)把從數據庫中獲得的密碼信息進行解密;(3)檢查用戶輸入的密碼信息是否與(2)中的解密的密碼信息一致,如果不一致,則轉到(6);(4)把從數據庫中得到的密碼信息MD5摘要處理,再與從用戶信息庫110中獲得的MD5信息相比較,如果不一致,則轉到(6);(5)成功進入系統(tǒng)(以普通用戶身份登錄的用戶進入查詢模塊,而以管理員身份登錄的用戶則進入后臺管理),并把用戶本次登錄的記錄加入數據庫的審計信息庫140中;(6)登錄失敗,需重新登錄,并把用戶本次登錄的記錄加入數據庫的審計信息庫140中。查詢模塊300是本系統(tǒng)提供給用戶檢索信息的模塊,它包括査詢分詞模塊310、査詢加密模塊320、査詢子模塊330、訪問控制模塊340、密文檢索詞哈希350、結果集合并模塊360和結果集排序模塊370。查詢分詞模塊310接收來自用戶的檢索命令,采用中文分詞策略對檢索命令進行分詞,并將分詞處理后的檢索詞發(fā)送給查詢加密模塊320。査詢分詞模塊310對用戶的檢索命令進行語言詞法分析,適應不同語言的文檔源和不同形式的檢索命令,它負責把一個輸入流中的字符串轉換成一系列標記的集合,這些標記將是建立索引的基本單位,如對中文以漢字作為基本的索引單位,并且可以定義過濾器,實現(xiàn)中英文停用詞的過濾。本系統(tǒng)直接采用現(xiàn)有的中文分詞策略。査詢加密模塊320用于對經査詢分詞模塊310處理后的檢索詞進行加密處理,并將加密處理后的檢索詞發(fā)送給査詢子模塊330。為了提高速度,最好選擇對稱加密算法。查詢子模塊330將加密處理后的檢索詞進行Hash運算,分別映射到與其對應的密文索引服務器上進行匹配,并利用訪問控制模塊340對匹配文檔信息進行篩選,從匹配的文檔信息中選擇滿足訪問控制要求的那部分文檔信息作為結果集。并將各個密文索引服務器上匹配獲得的結果集發(fā)送給結果集合并模塊350。訪問控制模塊340用于對査詢子模塊330利用若干個密文檢索詞在索引庫中査找得到的所有匹配的文檔信息進行篩選,使得每個用戶只能檢索到其權限范圍內的文檔。合法用戶登錄系統(tǒng)后都帶有用戶級別的信息,如果用戶的級別高于這個文檔的級別,則該文檔滿足訪問控制要求,將被加入結果集,否則即使此文檔符合檢索要求也不會被加入結果集,具體策略如下所述。在分布式密文全文檢索系統(tǒng)中,按照用戶和文檔分別進行描述,用戶和文檔都包含級別屬性,本系統(tǒng)中所有用戶的級別按照行政級別的高低構成一個偏序集。權限的偏序集描述如表1,權限級別越小表示相應的權限越高。文檔權限描述如表2所示,用戶描述如表3所示,其中表3的最后一列是通過比較得到的用戶可以訪問到的資源。在本系統(tǒng)的訪問控制策略中,要求每個文檔只允許發(fā)布到某一個確定的行政級別,且用戶只能具有一個確定的行政級別。表1用戶級別描述<table>tableseeoriginaldocumentpage14</column></row><table>R32R42R53表2文檔級別描述文檔名稱發(fā)布行政級別&2s21s32s42s53表3用戶描述用戶名稱自身行政級別允許訪問文檔仏2Si,S3,S4,S5U21Si,S2,S3,S4,S5U30Si,S2,S3,S《,S5U43s5在分布式密文全文檢索系統(tǒng)的訪問控制策略中,只有當用戶的行政級別權限不小于資源允許發(fā)布的行政級別的基礎上,用戶才有訪問資源的權限。這種訪問控制策略是比較符合當前保密行業(yè)公文訪問控制要求的一種訪問控制策略。在本系統(tǒng)推廣使用的過程中,再可以根據各個行業(yè)的自身需求設計相應的訪問控制策略。密文檢索詞哈希模塊350用于對檢索詞進行Hash處理,以便于查詢子模塊330能準備地定位到與檢索詞相應的密文索引庫中,使用與密文索引詞哈希模塊640相同的Hash算法。結果集合并模塊360用于對査詢子模塊330中利用若干個檢索詞分別匹配獲得的結果集進行合并操作,并將合并后的結果集發(fā)送給結果集排序模塊370。結果集排序模塊370用于對來自結果集合并模塊360的結果集進行一個優(yōu)先級排序,并將排序后的結果集發(fā)送給結果集顯示模塊400。匹配強度最高的文檔排在結果集的最前面,這里的匹配強度是用檢索詞的命中個數以及命中的域(如標題域、內容域)來衡量的,當然也可以把檢索詞的權重加入考慮范圍之中,這里為了方便,僅選擇檢索詞命中個數來進行排序。如圖4所示,查詢模塊的處理流程為(1)用戶輸入檢索信息,系統(tǒng)會采用中文分詞策略對檢索信息進行分詞,獲得查詢檢索詞;(2)服務器把檢索詞進行加密處理;(3)服務器對所有密文檢索詞進行Hash處理,映射到相應的索引服務器上進行密文匹對,并且在匹對信息的時候加入訪問控制的限制,返回結果集。即對于命中的文檔,只有用戶級別高于該文檔的級別,那么該文檔才能加入結果集;(4)對所有檢索詞獲得的結果集進行合并操作,(5)將合并得到的結果集進行排序,主要是利用命中檢索的個數來進行排序,將命中檢索詞多的文檔排在結果集的前面。結果集顯示模塊400是用戶査詢顯示的接口,它包括文摘模塊410和快照模塊420。文摘模塊410用于顯示排序后結果集的文檔中包含有檢索詞的文摘信息,一個文檔里面可能有很多不同位置都包含有檢索詞,我們可以選擇顯示前N塊文摘信息。每塊文摘信息都是包含有突出顯示的檢索詞的。類似于百度中的搜索情況??煺漳K420用于顯示排序后結果集中文檔的全部明文文本信息,并且突出顯示檢索詞,以便用戶閱覽。并且把用戶已閱覽文檔的消息加入審計信息庫140中。由于服務器上面保存的文本信息都是密文的,所以需要先對加密文本進行解密,然后進行通信加密,再將快照信息返回給用戶。如圖5所示,結果集顯示模塊的處理流程為(1)接收來自査詢模塊300的結果集;(2)從對應的密文文檔庫中獲得結果集的文摘信息;(3)從對應的密文文檔庫中獲得結果集的快照信息;(4)用戶需要快照信息時,反饋快照信息給用戶,并且將此操作的記錄加入數據庫的審計信息庫140中。文檔管理模塊500是整個系統(tǒng)的起始模塊,它包括純文本文檔加密模塊510、構建分布式文檔模塊520、密文文檔哈希模塊530。純文本文檔加密模塊510用于對歸檔的純文本文檔進行加密處理,以保證存儲文檔的安全性。構建分布式文檔模塊520用于將所有密文文檔分布式地存儲于多個密文文檔服務器上,構建分布式密文文檔庫。密文文檔哈希模塊530用于將所有密文文檔的文檔名進行Hash處理,以便于構建分布式文檔模塊520能將密文文檔定位到相應的密文文檔服務器上存儲。文檔管理模塊500的處理流程為(1)將歸檔的純文本文檔內容、文檔的地址、級別等信息發(fā)送給索引模塊600;(2)對純文本文檔進行加密;(3)根據密文文檔名進行Hash處理,將這些密文文檔分發(fā)到不同的密文文檔服務器上存儲。每個密文文檔服務器上存儲的密文文檔就形成了一個密文文檔庫,從而所有密文文檔服務器上的文檔就構成了分布式的密文文檔庫,如圖6所示。索引模塊600是本系統(tǒng)中較重要的.一部分,它包括索引分詞模塊610、索引加密模塊620、索引子模塊630和密文索引詞哈希模塊640。索引分詞模塊610用于對所有純文本文檔的內容進行分詞處理,得到索引詞,并將分詞處理后的索引詞發(fā)送給索引加密模塊620,具體分詞策略與查詢分詞模塊必需保持一致。索引加密模塊620用于對索引詞、純文本文檔的地址信息進行加密處理,并把加密后的索引詞、文檔地址信息發(fā)送給索引子模塊630。其中,索弓I詞采用和査詢加密模塊相同的加密算法,而文檔地址采用安全級別更高的非對稱加密算法。構建密文索引模塊630是索引管理服務器將加密后的索引詞進行Hash處理,映射到若干個密文索引服務器上,同時,相應文檔的地址、文檔級別信息也發(fā)送給對應的密文索引服務器,在這些密文索引服務器上構建密文索引庫,形成分布式的密文索引庫。如圖7所示,如有兩個文檔分別為文檔1和文檔2。文檔1的內容為"中華人民共和國";文檔2的內容為"并行計算"。假定經分詞處理后得到的索引詞為"中華"、"人民"、"共和國"、"并行"和"計算"。對這5個詞先進行加密處理,然后對加密后的密文索引詞進行Hash運算,最后根據運算獲得的Hash值來確定將每個密文索引詞分發(fā)到與其對應的密文索引服務器上構建索引。如"中華","計算"的密文經過Hash運算后獲得的值為1,那么這兩個詞就會被發(fā)送到第1號密文索引服務器上。當然這兩個索弓I詞所在文檔的相關信息也同時被發(fā)送到該密文索引服務器上以便建立相應的密文索引庫。密文索引的結構如圖8所示,每個密文索引詞與所有含有該密文索引詞的文檔位置對應,每個文檔都有自己的內部結構,由不同的域構成,主要有文檔級別域、標題域、內容域和路徑域。其中文檔的級別域中存儲了文檔的級別信息,以便于檢索匹配過程中權限的匹配;標題域和內容域都是由密文索引詞來構成的,區(qū)分標題和內容主要是為了在結果集排序中將標題命中和內容命中給與不同的權重;路徑域用來存儲該文檔對應的結構化文檔的存儲地址信息,便于后面查看結果時的反顯和快照定位。密文索引詞哈希模塊640用于對密文索引詞進行Hash運算,使得所有密文索引詞按照Hash后的值分布到n個密文索引服務器上,便于構建密文索引模塊630構建分布式索引庫。如圖9所示,索引模塊600的處理流程為(1)接收文檔管理模塊500的所有歸檔純文本txt文件信息;(2)對純文本信息進行分詞處理,得到所有索引詞;(3)對索引詞進行加密處理,采用和查詢模塊300中相同的加密算法;(4)對加密后的索引詞進行Hash處理,分發(fā)到n革密文索引服務器上;(5)利用加密后的索引詞和文檔地址、文檔級別信息來建立分布式的索引庫。審計管理模塊700主要是對用戶的所有操作提供査詢功能,可以通過用戶IP地址、用戶名、時間范圍以及它們的邏輯組合來對用戶的操作進行查詢。用戶管理模塊800是管理員管理用戶信息時使用的模塊。用戶管理模塊800的處理流程為(1)管理員查看用戶信息,用戶管理模塊800根據管理員指令讀取數據庫100中的用戶信息庫110,并顯示所有的用戶信息;18(2)管理員填寫待添加的新用戶信息,用戶管理模塊800首先判斷數據庫100中的用戶信息庫110中該用戶的用戶名是否已經存在,若該用戶名已經存在,返回錯誤提示,否則添加記錄到用戶信息庫IIO,并將添加用戶成功的記錄加入數據庫的審計信息庫140中;(3)管理員刪除用戶信息,用戶管理模塊800根據管理員指令刪除數據庫100中用戶信息庫110的相關信息,并將刪除用戶成功的記錄加入數據庫的審計信息庫140中;(4)管理員修改用戶的信息,用戶管理模塊800根據管理員指令修改數據庫100中用戶信息庫110的相應信息,并將修改用戶成功的記錄加入數據庫的審計信息庫140中。權限管理模塊900是管理員管理權限信息時使用的模塊。權限管理模塊900的處理流程為(1)管理員查看用戶級別信息,系統(tǒng)根據管理員指令讀取數據庫中用戶級別信息庫120中的信息;(2)管理員添加新的用戶級別信息,權限管理模塊900首先判斷數據庫中的用戶級別信息庫120中是否已經存在該級別,若已經存在,則返回錯誤提示,否則添加記錄到用戶級別信息庫120,并將添加用戶級別成功的記錄加入數據庫的審計信息庫140中;(3)管理員刪除用戶級別信息,權限管理模塊900根據用戶指令刪除數據庫中的用戶級別信息庫120的相關記錄,同時級聯(lián)刪除擁有該級別的相關用戶信息,并將刪除級別和用戶信息成功的記錄加入數據庫的審計信息庫140中;(4)管理員修改用戶級別信息,權限管理模塊900使用管理員輸入的新信息,更新數據庫中的用戶級別信息庫120,同時也更新用戶信息庫110中的相應信息,并將修改用戶級別和用戶信息成功的記錄加入數據庫的審計信息庫140中。(5)管理員查看文檔級別信息,系統(tǒng)根據管理員指令讀取數據庫中文檔級別信息庫130中的信息;(6)管理員添加新的文檔級別信息,權限管理模塊900首先判斷數據庫中的文檔級別信息庫130中是否已經存在該級別,若已經存在,則返回錯誤提示,否則添加記錄到文檔級別信息庫130,并將添加文檔級別成功的記錄加入數據庫的審計信息庫140中;(7)管理員刪除文檔級別信息,權限管理模塊900根據用戶指令刪除數據庫中的文檔級別信息庫130的相關記錄,并將刪除文檔級別成功的記錄加入數據庫的審計信息庫140中;(8)管理員修改文檔級別信息,權限管理模塊900使用管理員輸入的新信息,更新數據庫中的文檔級別信息庫130,并將修改文檔級別信息成功的記錄加入數據庫的審計信息庫140中。本發(fā)明不僅局限于上述具體實施方式,本領域一般技術人員根據本發(fā)明公開的內容,可以采用其它多種具體實施方式實施本發(fā)明,因此,凡是采用本發(fā)明的設計結構和思路,做一些簡單的變化或更改的設計,都落入本發(fā)明保護的范圍。權利要求1、一種分布式密文全文檢索系統(tǒng),其特征在于該系統(tǒng)包括數據庫(100)、登錄模塊(200)、查詢模塊(300)、結果集顯示模塊(400)、文檔管理模塊(500)、索引模塊(600)、審計管理模塊(700)、用戶管理模塊(800)和權限管理模塊(900);數據庫(100)用于存儲用戶及用戶權限方面的信息;登錄模塊(200)用于接收來自用戶輸入信息的服務請求,通過與數據庫(100)的信息交互,對服務請求進行驗證,驗證成功則允許用戶進入系統(tǒng),并且在登錄模塊(200)獲得該用戶在數據庫(100)中的相關信息,保存在會話中;當用戶以管理員身份成功登錄時,則進入后臺管理首頁的界面,并能夠選擇對審計管理模塊(700)、用戶管理模塊(800)和權限管理模塊(900)這三個模塊進行管理;當用戶以普通用戶身份成功登錄時,則進入查詢模塊(300);如果驗證失敗,則拒絕用戶進入系統(tǒng);不管用戶是否成功登錄系統(tǒng),都將用戶的登錄操作信息加入數據庫(100)中;查詢模塊(300)用于接收用戶輸入的檢索信息,將此檢索信息記錄到數據庫(100)中,并對檢索信息進行分詞、加密得到密文檢索詞,然后將所有密文檢索詞進行哈希運算,分別映射到相應的密文索引服務器中的密文索引庫進行查詢匹配,這些密文索引庫返回和檢索詞匹配并且用戶有權訪問的所有文檔信息,根據各檢索詞匹配返回的結果集進行合并處理后排序,將排序后的結果集交給結果集顯示模塊(400)處理;其中,密文索引服務器是專門用來構建和存儲密文索引的計算機,本系統(tǒng)中共有n臺密文索引服務器,n為正整數;結果集顯示模塊(400)用于接收來自查詢模塊(300)的結果集,并根據相應密文文檔庫的信息來建立結果集的文摘信息和快照信息,并將用戶查看快照信息的記錄存儲于數據庫(100)中;文檔管理模塊(500)對原始純文本文件進行加密處理,通過對密文文檔名進行哈希處理,將這些密文文檔映射到各個密文文檔服務器上存儲,形成分布式的密文文檔庫;此外,文檔管理模塊(500)還為索引模塊(600)提供所有純文本文件的內容和標題信息;其中,密文文檔服務器是專門用來存儲密文文檔的計算機,本系統(tǒng)中共有m臺密文文檔服務器,m為正整數;索引模塊(600)接收來自文檔管理模塊(500)的純文本文件的內容和標題信息,利用分詞策略對純文本文件的內容和標題信息進行分詞處理,得到索引詞,然后加密索引詞,再將加密后的索引詞進行哈希運算,映射到若干個密文索引服務器上,并結合文檔相關信息建立分布式的密文索引庫;審計管理模塊(700)用于對用戶的所有操作提供查詢功能,通過用戶IP地址、用戶名、時間范圍以及它們的邏輯組合來對用戶的操作進行查詢,還用于查詢檢索內容被哪些用戶查詢過;審計管理模塊(700)接收來自用戶輸入的查詢信息,通過與數據庫(100)的信息交互,獲得滿足查詢條件的所有記錄;用戶管理模塊(800)用于接收來自管理員的操作請求,對用戶信息進行相應的管理,并與數據庫(100)進行交互;權限管理模塊(900)用于接收來自管理員的操作請求,對用戶權限,文檔權限進行相應的管理,并與數據庫(100)進行交互;此外,權限管理模塊(900)將管理員的操作記入數據庫(100)中。2、根據權利要求1所述的分布式密文全文檢索系統(tǒng),其特征在于查詢模塊(300)包括査詢分詞模塊(310)、査詢加密模塊(320)、查詢子模塊(330)、訪問控制模塊(340)、密文檢索詞哈希(350)、結果集合并模塊(360)和結果集排序模塊(370);查詢分詞模塊(310)接收來自用戶的檢索命令,采用中文分詞策略對檢索命令進行分詞,并將分詞處理后的檢索詞發(fā)送給査詢加密模塊(320);査詢分詞模塊(310)對用戶的檢索命令進行語言詞法分析,適應不同語言的文檔源和不同形式的檢索命令,它負責把一個輸入流中的字符串轉換成一系列標記的集合,這些標記作為建立索引的基本單位;查詢加密模塊(320)用于對經查詢分詞模塊(310)處理后的檢索詞進行加密處理,并將加密處理后的檢索詞發(fā)送給查詢子模塊(330);查詢子模塊(330)將加密處理后的檢索詞進行哈希運算,分別映射到與其對應的密文索引服務器上進行匹配,并利用訪問控制模塊(340)對匹配文檔信息進行篩選,從匹配的文檔信息中選擇滿足訪問控制要求的那部分文檔信息作為結果集;并將各個密文索引服務器上匹配獲得的結果集發(fā)送給結果集合并模塊(350);訪問控制模塊(340)用于對查詢子模塊(330)利用若干個密文檢索詞在索引庫中查找得到的所有匹配的文檔信息進行篩選,使得每個用戶只能檢索到其權限范圍內的文檔;密文檢索詞哈希模塊(350)用于對檢索詞進行哈希處理,以便于査詢子模塊(330)能準備地定位到與檢索詞相應的密文索引庫中,使用與密文索引詞哈希模塊(640)相同的哈希算法;結果集合并模塊(360)用于對查詢子模塊(330)中利用若干個檢索詞分別匹配獲得的結果集進行合并操作,并將合并后的結果集發(fā)送給結果集排序模塊(370);結果集排序模塊(370)用于對來自結果集合并模塊(360)的結果集進行一個優(yōu)先級排序,并將排序后的結果集發(fā)送給結果集顯示模塊(400);匹配強度最高的文檔排在結果集的最前面,該匹配強度采用檢索詞的命中個數以及命中的域來衡量。3、根據權利要求2所述的分布式密文全文檢索系統(tǒng),其特征在于索引模塊(600)包括索引分詞模塊(610)、索引加密模塊(620)、索引子模塊(630)和密文索引詞哈希模塊(640);索弓I分詞模塊(610)用于對所有純文本文檔的內容進行分詞處理,得到索引詞,并將分詞處理后的索引詞發(fā)送給索引加密模塊(620),具體分詞策略與查詢分詞模塊一致;'索引加密模塊(620)用于對索引詞、純文本文檔的地址信息進行加密處理,并把加密后的索引詞、文檔地址信息發(fā)送給索引子模塊(630);其中,索引詞采用和查詢加密模塊相同的加密算法;構建密文索引模塊(630)是索引管理服務器將加密后的索引詞進行哈希處理,映射到若干個密文索引服務器上,同時,相應文檔的地址、文檔級別信息也發(fā)送給對應的密文索引服務器,在這些密文索引服務器上構建密文索引庫,形成分布式的密文索引庫;密文索引詞哈希模塊(640)用于對密文索弓I詞進行哈希運算,使得所有密文索引詞按照哈希后的值分布到n個密文索引服務器上,便于構建密文索引模塊(630)構建分布式索引庫。4、根據權利要求l、2或3所述的分布式密文全文檢索系統(tǒng),其特征在于數據庫(100)包括用戶信息庫(110)、用戶級別信息庫(120)和文檔級別信息庫(130)和審計信息庫(140);用戶信息庫(110)包括用戶名、密碼、MD5值和用戶級別名稱;用戶級別信息庫(120)包括用戶級別名稱和用戶級別值;文檔級別信息庫(130)包括文檔級別名稱和文檔級別值;審計信息庫(140)包括用戶名、IP地址、操作內容和操作時間信息。5、根據權利要求l、2或3所述的分布式密文全文檢索系統(tǒng),其特征在于登錄模塊(200)包括用戶名驗證模塊(210)、密碼驗證模塊(220)和信息-摘要算法校驗模塊(230);用戶名驗證模塊(210)用于將用戶登錄系統(tǒng)時輸入的用戶名信息與數據庫(100)的用戶信息庫(110)進行匹配;密碼驗證模塊(220)用于從數據庫(100)的用戶信息庫(110)中獲得該用戶密碼并進行解密,然后和用戶登錄系統(tǒng)時輸入的密碼進行匹配,看用戶輸入的密碼是否正確;校驗模塊(230)用于驗證數據庫中存儲的密碼是否被惡意改變過。6、根據權利要求l、2或3所述的分布式密文全文檢索系統(tǒng),其特征在于結果集顯示模塊(400)包括文摘模塊(410)和快照模塊(420);文摘模塊(410)用于顯示排序后結果集的文檔中包含有檢索詞的文摘信息,;快照模塊(420)用于顯示排序后結果集中文檔的全部明文文本信息,并且突出顯示檢索詞;并且把用戶已閱覽文檔的消息加入審計信息庫(140)中;對加密文本進行解密,然后進行通信加密,再將快照信息返回給用戶。7、根據權利要求l、2或3所述的分布式密文全文檢索系統(tǒng),其特征在于文檔管理模塊(500)包括純文本文檔加密模塊(510)、構建分布式文檔模塊(520)、密文文檔哈希模塊(530);純文本文檔加密模塊(510)用于對歸檔的純文本文檔進行加密處理;構建分布式文檔模塊(520)用于將所有密文文檔分布式地存儲于多個密文文檔服務器上,構建分布式密文文檔庫;密文文檔哈希模塊(530)用于將所有密文文檔的文檔名進行哈希處理,以便于構建分布式文檔模塊(520)能將密文文檔定位到相應的密文文檔服務器上存儲。全文摘要本發(fā)明提供的一種分布式的密文全文檢索系統(tǒng),該系統(tǒng)包括數據庫、登錄模塊、查詢模塊、結果集顯示模塊、文檔管理模塊、索引模塊、審計管理模塊、用戶管理模塊和權限管理模塊;其中查詢模塊包括查詢分詞模塊、查詢加密模塊、查詢子模塊、訪問控制模塊、密文檢索詞哈希模塊、結果集合并模塊和結果集排序模塊,索引模塊包括索引分詞模塊、索引加密模塊、構建分布式索引模塊和密文索引詞哈希模塊。本發(fā)明對文檔信息進行加密處理并分布式地存儲、對索引詞加密并分發(fā)到不同的服務器上構建分布式的密文索引庫、將分級訪問控制加入到索引庫中提高全文檢索的安全性和有效性。本發(fā)明系統(tǒng)可以實現(xiàn)分布式環(huán)境下密文的全文信息檢索,保證了敏感數據的安全性檢索,本發(fā)明系統(tǒng)具有安全性強、執(zhí)行效率高、可擴展性強的特點。文檔編號G06F17/30GK101561815SQ200910062129公開日2009年10月21日申請日期2009年5月19日優(yōu)先權日2009年5月19日發(fā)明者盧正鼎,煒吳,偉宋,賽宋,左翠華,文坤梅,李瑞軒,辜希武,高國強申請人:華中科技大學