專利名稱:密文全文檢索系統(tǒng)的制作方法
技術領域:
本發(fā)明屬于信息檢索和信息安全領域,具體涉及了一種密文全文檢索系統(tǒng)及一種基于動態(tài)后繼樹索引結構的密文全文檢索系統(tǒng)。
背景技術:
隨著計算機和通信等信息技術的迅猛發(fā)展,電子媒體等各種應用激增,傳統(tǒng)行業(yè)信息化也快速展開,工業(yè)和科研數(shù)據(jù)自動化和半自動化的產(chǎn)生,使得各種數(shù)據(jù)大量累積 ’另一方面存儲技術發(fā)展的日新月異也使得數(shù)據(jù)總量的增長勢頭越來越猛。據(jù)統(tǒng)計,二十世紀八十年代以來全世界信息總量以指數(shù)級增長??梢哉f,如今信息產(chǎn)生的速度遠遠大于人類對這些信息進行充分消化的速度。人們對問題進行有效決策所需要的信息量也大為增加,這就使得用戶在海量數(shù)據(jù)面前想找到自己滿意的信息變得越來越困難。在這樣的背景下,如果不借助于有效的檢索機制,信息量過大所產(chǎn)生的效果與無信息可查的效果是一樣的。
全文信息檢索技術最早產(chǎn)生于20世紀50年代的美國。1950年Calvin N. Mooers首創(chuàng)了信息檢索這個術語,1958年Luhn提出了統(tǒng)計信息檢索的基本理論和方法,1960年Marson和Kuhns提出了信息檢索的概率模型,1986年Gerard創(chuàng)立了信息檢索向量空間模型,1968年Rocchio和Salton共同提出了查詢擴展的方法,1972年Lockheed公司推出的DIALOG系統(tǒng)是世界首例商用在線信息查詢服務系統(tǒng)。從上個世紀90年代開始,隨著廉價海量數(shù)據(jù)存儲設備的成功研發(fā),特別是國際互聯(lián)網(wǎng)技術的誕生和隨之而來的網(wǎng)絡信息的爆炸式增長,使信息檢索技術進入了一個嶄新的發(fā)展時期。在這一時期,具有代表性的理論成果包括潛在語義索引技術,貝葉斯網(wǎng)絡和神經(jīng)網(wǎng)技術。
全文檢索技術已發(fā)展得較為成熟,國外的全文檢索軟件已較早地得到了應用。雖然中西文全文檢索的原理是一致的,但中文本身的特點使得中文全文檢索系統(tǒng)要比西文的復雜。國內全文檢索技術的研究開始于1987年左右,目如在國內市場占有率超過90%、具有代表性的全文檢索系統(tǒng)如易北寶信公司開發(fā)的TRS,支持概念檢索、多媒體數(shù)據(jù)檢索和原格式文件檢索,支持海量存儲結構化數(shù)據(jù)處理,并提供Wffff的數(shù)據(jù)庫接口。
索引模型是信息檢索的核心技術,對信息檢索系統(tǒng)待處理的數(shù)據(jù)進行高效的組織是進行信息檢索的必要前提,索引存儲結構影響系統(tǒng)的檢索速度和存儲空間。當前主要索引模型有簽名文件、倒排文件、位圖、Pat樹、Pat數(shù)組和互關聯(lián)后繼樹等。前三種索引模型實質上都是把文檔看成索引項的集合,索引數(shù)據(jù)必須具有文檔-索引項結構,因而難以實現(xiàn)復雜查詢。Pat樹和Pat數(shù)組將索引數(shù)據(jù)看成一組半無限串的疊加,能實現(xiàn)復雜查詢,但存在空間開銷大等缺點?;リP聯(lián)后繼樹|旲型是處理中文等半無限字符串的一種新穎的索引模型,它創(chuàng)建效率高、查詢速度快,與Pat樹一樣具有查詢功能全的特點以及比Pat樹小的膨脹比等系列優(yōu)點,但是也存在存儲結構、動態(tài)索引更新等方面的不足。
目前國內外在基于密文的全文檢索領域只有少量研究,通過各著名的大型數(shù)據(jù)庫和搜索弓I擎檢索得到的結果中,在中文的密文全文檢索領域,只查到由中國科學院計算機網(wǎng)絡研究中心的李新在中國的發(fā)明專利申請《密文全文檢索技術》(申請?zhí)枮?00410070113. 5)和華中科技大學在中國的發(fā)明專利申請《分布式密文全文檢索系統(tǒng)》(申請?zhí)枮?00910062129.4)等相關研究成果發(fā)表。前者的發(fā)明是對全文檢索技術的改造,幾乎保留了全文檢索的大部分技術,只對索引文件的索引詞進行加密處理;后者實現(xiàn)了在密文條件下的全文信息檢索,保證了敏感數(shù)據(jù)的安全檢索,具有安全性強,執(zhí)行效率高的特點,其索引文件為倒排文件,但不能進行密文子串查詢及潛在的分詞查詢,而且不能進行密文動態(tài)更新。
新興起的對等網(wǎng)絡(Peer-to-Peer, P2P)被認為是一種有著更高效、更負載均衡和更好容錯性優(yōu)點的網(wǎng)絡,通過P2P網(wǎng)絡,大量的計算機可組織在一起形成一個高性能、高可靠性、高擴展性和低消耗 的運算整體。由于P2P存儲系統(tǒng)面臨節(jié)點異構性、節(jié)點自私性、節(jié)點安全性及節(jié)點時效性等諸多問題,多數(shù)研究集中于搜索和定位機制,忽略了復制機制。在這種網(wǎng)絡環(huán)境下進行中文全文檢索和中文密文全文檢索,引入索引文件副本復制機制,是提高檢索效率,降低網(wǎng)絡消耗和實現(xiàn)分布式節(jié)點負載均衡的有效途徑。
發(fā)明內容
本發(fā)明的目的之一,在于提供一種數(shù)據(jù)安全性高、索引創(chuàng)建速度快、數(shù)據(jù)檢索效率高的密文全文檢索系統(tǒng)。
本發(fā)明的另一目的,還在于在上述密文全文檢索系統(tǒng)的基礎上,提供一種基于動態(tài)后繼樹索引結構的密文全文檢索系統(tǒng)及其創(chuàng)建、檢索方法,該系統(tǒng)支持索引的動態(tài)更新,并可以實現(xiàn)密文子串查詢。
具體技術方案如下
一、密文全文檢索系統(tǒng)
本發(fā)明密文全文檢索系統(tǒng),包括有原始文本處理模塊、分詞模塊、加密模塊、文檔密文存儲模塊、密文索引模塊、密文檢索模塊、檢索結果處理模塊、系統(tǒng)管理模塊;其特征在于:
所述原始文本處理模塊,用于對文檔的原始文本進行格式化預處理,包括但不限于電子化紙質文檔和/或格式化電子原始文檔,并提取其主題、正文及附加屬性等信息,以及,形成文檔概要。其中,電子化紙質文檔就是使紙質文檔經(jīng)過掃描等方式后,得到可以處理的電子化原始文檔;格式化文檔就是對需要處理的電子文檔統(tǒng)一轉化為純文本文檔。
所述分詞模塊,用于對所述原始文本處理模塊所提供的文檔主題、正文及附加屬性等進行分詞并提取特征向量,以及,用于對所述密文檢索模塊提供的檢索詞/串進行分詞和查詢擴展。
所述加密模塊,對包括但不限于所述原始文本處理模塊傳送過來的純文本文檔、文檔概要,所述分詞模塊傳送來的特征向量、分詞進行加密操作,并將所述特征向量密文存入特征向量密文庫;對由密文索引模塊傳送過來的分詞位置信息進行加/解密操作;對包括但不限于所述文檔密文存儲模塊傳送來的文檔密文、文檔概要密文進行解密;對經(jīng)所述檢索結果處理模塊傳送來的特征向量密文進行解密;并向所述文檔密文存儲模塊、檢索結果處理模塊、密文檢索模塊、密文索引模塊提供經(jīng)加/解密的相應數(shù)據(jù)。
所述文檔密文存儲模塊,用于分布存儲、提供文檔密文和文檔概要密文所述分布是按照地域、文檔密級和文檔分類來決定相應密文所存向的目標文檔密文服務器,各文檔密文服務器接收并存儲來自所述加密模塊提供的文檔密文和文檔概要密文;本模塊還可接受所述檢索結果處理模塊的密文讀取請求,為加密模塊提供需要解密的密文。
所述密文索引模塊,用于分布密文分詞并創(chuàng)建、存儲密文索引,提供需要解密的密文索引,及檢索到的文檔編號所述分布是按照地域、文檔密級和文檔分類來決定相應密文索引所存向的目標索引服務器;各索引服務器接收來自所述加密模塊提供的密文分詞和分詞位置信息并進行索引創(chuàng)建,經(jīng)加密后存儲密文索引到相應的密文索引庫;本模塊還根據(jù)所述密文檢索模塊的密文分詞檢索請求,從密文索引庫中檢索到需要解密的索引分詞位置信息密文并傳送到加密模塊,及,將從加密模塊返回的文檔編號集發(fā)送給密文檢索模塊。
所述密文檢索模塊,為系統(tǒng)的合法用戶提供相應級別的信息檢索服務。該模塊接收合法用戶輸入的檢索詞/串,經(jīng)審查過濾后提交給所述分詞模塊;接收加密模塊發(fā)送來的擴展密文分詞集并形成密文分詞檢索請求,然后傳送到所述密文索引模塊進行檢索;接收密文索引模塊返回的文檔編號集,并提交給所述檢索結果處理模塊。
所述檢索結果處理模塊,用來接收并處理所述密文檢索模塊提供的文檔編號集,并將經(jīng)過排序處理后得到的結果集返回給檢索用戶;根據(jù)所述密文檢索模塊提供的文檔編號集,從特征向量密文庫中取出相應的特征向量密文,經(jīng)加密模塊解密后對文檔編號集合進行排序;把有序的文檔編號集發(fā)送給文檔密文存儲模塊;接收經(jīng)所述加密模塊解密的相應文檔概要并顯示給用戶;根據(jù)用戶選擇的文檔概要明文提取相應文檔密文,經(jīng)加密模塊解密后顯示給用戶,其提取方式與提取文檔概要明文相同。
所述系統(tǒng)管理模塊,用來管理用戶權限,對部門、角色、用戶的基本信息以及它們之間的映射關系進行維護更新等。
進一步地,所述原始文本處理模塊,包括有轉化單元,提取單元,概要單元;所述轉化單元,用于電子化紙質文檔,及,將需要處理的電子文檔統(tǒng)一轉化為純文本文檔;所述提取單元,用于對轉化單元提供的純文本文檔中的文檔信息進行提取,提取的信息包括但不限于主題、正文、附加屬性;所述概要單元,將所述提取單元提供的包括但不限于主題、摘要、作者、時間、來源等組織成文檔概要;
進一步地,所述分詞模塊,包括有分詞單元,特征向量單元,查詢擴展單元;所述分詞單元,用于對傳送過來的包括但不限于主題、正文、附加屬性、檢索詞/串等進行分詞;所述特征向量單元,從分詞結果中提取文檔特征詞,形成特征向量;所述查詢擴展單元,對檢索詞/串分詞進行查詢擴展;
進一步地,所述加密模塊,包括有文檔加密單元、分詞加密單元、分詞位置加密單元;所述文檔加密單元負責對原始文本預處理模塊傳送來的純文本文檔、文檔概要,分詞模塊傳送來的特征向量進行加密處理;文檔加密單元中包括有文檔加密信息表、加密運算器;所述文檔加密信息表用于獲取對純文本文檔、文檔概要、特征向量加密所需的密鑰和加密算法;所述分詞加密單元負責對分詞模塊傳送來的分詞進行加密處理;分詞加密單元中包括有分詞分組子模塊、分詞分組加密信息表、加密運算器;所述分詞分組加密信息表用于獲取對分詞加密所需的密鑰和加密算法;所述分詞位置加密單元負責對分布式密文索引管理模塊傳送來的分詞位置信息進行加/解密;分詞位置加密單元中包括有分詞位置加密信息表、加密運算器;所述分詞位置加密信息表用于獲取對分詞位置信息加密所需的密鑰和加密算法;所述文檔加密單元、分詞加密單元、分詞位置加密單元在加密過程中還需要使用到密鑰管理器、加密算法庫;
進一步地,所述文檔密文存儲模塊,包括有文檔密文分布代理模塊和分布式文檔密文管理模塊;所述分布式文檔密文管理模塊,用來管理及存儲文檔密文和文檔概要密文,包括有文檔密文服務器、文檔概要密文庫和文檔密文庫;所述文檔密文服務器負責對所屬的文檔概要庫和文檔密文庫進行存??;所述文檔密文分布代理模塊,用于將文檔密文和文檔概要密文分發(fā)到相應的文檔密文服務器;
進一步地,所述密文索引模塊,包括有密文分詞分布代理模塊和分布式密文索引分布管理模塊;所述分布式密文索引分布管理模塊,包括有索引服務器和密文索引庫,由索引服務器管理各個密文索引庫;各索引服務器接收來自所述加密模塊提供的密文分詞和分詞位置信息創(chuàng)建索引,存儲密文索引到相應的密文索引庫;索引服務器包括有文檔編號信息表;所述文檔編號信息表用于記錄文檔對應的偽文檔編號組;所述偽文檔編號組是文檔編號的一個一對多映射組成的集合,由系統(tǒng)生成;所述密文分詞分布代理模塊負責將密文分詞分布到索引服務器上;
進一步地,所述密文檢索模塊,包括有檢索語句提交單元和檢索服務器;所述檢索語句提交單元接收合法用戶輸入的檢索詞/串,經(jīng)審查過濾后提交給所述分詞模塊;所述檢索服務器,用于將擴展密文分詞集以廣播方式分發(fā)到所述密文索引模塊的各索引服務器,接收并處理各索引服務器返回的結果,然后將得到的無序文檔編號集發(fā)送給檢索結果處理模塊;
進一步地,所述檢索結果處理模塊,包括有檢索結果排序單元和結果顯示單元;所述檢索結果排序單元,用于對無序的文檔編號集進行排序;所述結果顯示單元包括文檔概要顯示和文檔顯示。
二、與上述密文全文檢索系統(tǒng)對應的密文全文索引創(chuàng)建方法,包括以下步驟
(I)將用戶提交的涉密原始文本文檔原文轉化為純文本,提取原文本文件中的主題、正文及其他附加屬性,并形成文檔概要;
(2)對原文本文件中的主題、正文、附加屬性進行分詞處理,并提取特征向量;
(3)對步驟(I)中得到的純文本文檔、文檔概要分別加密;
(4)把步驟(3)中得到的文檔密文分布存儲到相應的文檔密文庫,把步驟(3)中得到的文檔概要密文分布存儲到相應的文檔概要密文庫;
(5)對步驟⑵中得到的分詞、特征向量分別加密;
(6)把步驟(5)中得到的特征向量密文存儲到特征向量密文庫;
(7)對步驟(5)中得到的密文分詞分發(fā)到各索引服務器;
(8)各索引服務器根據(jù)步驟(7)中的密文分詞檢索得到相應的分詞位置密文;
(9)對步驟⑶中得到的分詞位置密文進行解密;
(10)將步驟(9)中解密后的分詞位置傳回相應索引服務器;
(11)索引服務器根據(jù)分詞位置創(chuàng)建索引;
(12)對步驟(11)中得到的索引進行加密;
(13)將步驟(12)中得到的密文索引存儲到相應的密文索引庫;
與上述密文全文索引創(chuàng)建方法相對應的密文全文檢索方法,包括以下步驟
(I)對用戶提交的檢索詞/串進行分詞并作查詢擴展;[0044](2)對步驟(I)中得到的擴展分詞集進行加密;
(3)把步驟(2)中得到的擴展密文分詞集以廣播方式分發(fā)到各索引服務器;
(4)各索引服務器進行檢索;
(5)系統(tǒng)收集各索引服務器返回的文檔編號集;
(6)系統(tǒng)根據(jù)步驟(5)中得到的文檔編號集讀取相應文檔特征向量密文;
(7)系統(tǒng)解密步驟(6)中得到的特征向量密文;
(8)利用步驟(7)中得到的特征向量對文檔編號集進行排序;
(9)根據(jù)步驟(8)中得到的有序的文檔編號集讀取相應文檔概要密文;(10)將文檔概要密文解密;
(11)將解密后的文檔概要顯示給用戶;
(12)系統(tǒng)根據(jù)用戶的選擇獲取相應的文檔密文;
(13)將文檔密文解密;
(14)將解密后的文檔顯示給用戶。
三、基于動態(tài)后繼樹索引結構的密文全文檢索系統(tǒng)
基于動態(tài)后繼樹索引結構的密文全文檢索系統(tǒng),是對上述密文全文檢索系統(tǒng)技術方案的進一步改進,包含有密文動態(tài)后繼樹索引結構。
所述密文動態(tài)后繼樹索引是一個森林,所述森林由子樹組成;每一棵子樹的結構包括有樹根的密文,樹葉的密文,以及,由偽文檔編號、樹葉位置、樹葉關聯(lián)位置、樹葉變種組成的樹葉信息集的密文;
所述樹根,用于指代位于樹根的分詞;
所述樹葉,即樹根的后繼,用于指代位于樹葉的分詞;
所述偽文檔編號,是偽文檔編號組的一個元素;
所述樹葉位置,用于指代當前樹葉在文檔中的位置;
所述樹葉關聯(lián)位置,用于指代指向當前樹葉的后繼的分詞的指針;
所述樹葉變種,用于指代代替原樹葉的一串字符串;
所述密文動態(tài)后繼樹索引的具體建立方法是對每一棵子樹中的樹根、樹葉分別進行加密,對偽文檔編號、樹葉位置、樹葉關聯(lián)位置、樹葉變種進行整體加密,即可得到所述密文動態(tài)后繼樹索引。
所述密文檢索模塊利用樹葉位置和樹葉關聯(lián)位置來記錄待匹配子串的位置關系,從而實現(xiàn)了在索引詞密文不脫密狀態(tài)下的子串查詢,即密文子串查詢。密文子串查詢是密文全文檢索系統(tǒng)查全率的重要保障;本方法不但保證了索引庫的安全,同時也節(jié)省了對密文子串查詢時的開銷。
四、與上述基于動態(tài)后繼樹索引結構的對應的密文全文索引創(chuàng)建方法,采用了前述的密文全文索引創(chuàng)建方法,其特征在于,
I)上述步驟(5)中的分詞采用如下加密方法
a、根據(jù)分詞分組加密信息表對分詞明文進行分組,得到該分詞的密鑰生成參數(shù)和加密算法編號,并發(fā)送給密鑰管理器;
b、密鑰管理器根據(jù)密鑰生成參數(shù)計算分詞分組密鑰,同時根據(jù)加密算法編號到加密算法庫中提取加密算法;[0072]C、根據(jù)所得到的分詞分組密鑰和加密算法,對分詞進行加密。
2)上述步驟(11)中的密文索引創(chuàng)建采用如下方法
a、對每個密文分詞,根據(jù)文檔編號信息表隨機選取一個偽文檔編號替換原密文分詞攜帶的文檔編號;
b、用密文分詞的前驅到密文索引庫中查找樹根,用密文分詞本身查找樹葉,獲取對應的樹葉信息集;
C、解密步驟b中得到的樹葉信息集,將密文分詞的位置信息插入到相應的樹葉信息集中;
d、若插入后的樹葉信息集長度超過限定值,則對樹葉信息集進行劃分,當遇到終結符表示全文已經(jīng)處理完;e、將該索引中未加密的樹葉信息集進行加密;
上述步驟d、e中的樹葉信息集劃分及加密方法為
a)若樹葉信息集的長度大于樹葉信息集平均長度,則將其劃分為若干個無交集子集,各子集長度在系統(tǒng)設定的范圍內;
b)為除首個樹葉信息集子集之外的各子集分別隨機生成樹葉變種,使得每個子集都對應一個樹葉變種或一片樹葉;
c)根據(jù)密文分詞,在分詞位置加密信息表中獲取密鑰生成參數(shù)和加密算法編號,并傳送給密鑰管理器;
d)密鑰管理器根據(jù)密鑰生成參數(shù)計算得到分詞位置密鑰,同時根據(jù)加密算法編號在加密算法庫中提取加密算法;
e)根據(jù)d)中得到的分詞位置加密算法,以及分詞位置密鑰對樹葉信息集明文進行加密。
從上述步驟可知,所述樹葉信息集加密方法可對所述樹葉信息集進行分組管理,每組信息用具有一定加密強度的不同加密算法和密鑰進行加密;對高頻詞的樹葉信息集長度進行均衡化處理,為高頻詞隨機產(chǎn)生樹葉變種,將其樹葉信息集劃分成多個樹葉信息集子集并加密,樹葉變種使密文分詞數(shù)量動態(tài)變化,防止統(tǒng)計攻擊。
五、與上述基于動態(tài)后繼樹索引結構的對應的密文全文檢索方法,采用了前述的密文全文檢索方法,其特征在于,上述步驟(4)中的檢索,以檢索詞“qsl,qs2,…,qsi,…,qsn”為例說明,η為檢索詞/串的分詞個數(shù),其步驟如下
I)判斷檢索詞/串的分詞個數(shù)如果η= 1,則轉入2);如果η = 2,則轉入3);否則轉入4);
2)判斷樹根表是否存在該分詞;若存在,則檢索命中結果集為該分詞的樹葉表中所有樹葉的樹葉信息集的樹葉位置的集合;檢索結束;
3)判斷樹根表是否存在qsl ;判斷qsl的樹葉表是否存在qs2 ;若qsl、qs2都存在,則檢索命中結果集為qs2的樹葉信息集的樹葉位置的集合;檢索結束;
4)判斷樹根表是否存在qsl,如果存在,判斷qsl的樹葉表是否存在qs2 ;
5)若qsl、qs2都存在,則獲取qs2的樹葉信息集的關聯(lián)位置的集合,記為Urpi ;
6)以3彡j彡η進行循環(huán),判斷qsi的樹葉表是否存在qsj ;若存在,則獲取qsj的樹葉信息集的樹葉位置的集合,記為spj ;計算spj與Urpi的交集,即qsj的樹葉位置子集,記為Uspj ;獲取qsj的樹葉信息集的關聯(lián)位置的子集合,記為Urpj ;最多循環(huán)n_2次便得到初步結果Urpj ;
7)檢索命中結果集為Urpj中所有樹葉信息集的樹葉位置的集合;檢索結束。
六、與上述基于動態(tài)后繼樹索引結構的對應的密文全文索引更新方法,其特征在于,采用了更新粒度為文檔局部級的密文動態(tài)后繼樹索引更新方法,該方法包括有增加操作、刪除操作和修改操作;
I)所述增加操作,其具體步驟如下a、為新添加的文本以相對位置建立樹葉信息;
b、解密原索引中受添加文本影響的樹葉的樹葉信息集;
C、將新建立的樹葉信息插入原索引中;在此插入過程中,只對添加文本的前驅的樹葉關聯(lián)位置修改,使其指向添加文本的首字符樹葉位置,同時將前驅樹葉原先的關聯(lián)位置值寫入添加文本的尾字符樹葉關聯(lián)位置;
d、每次插入新的位置信息后,判斷樹葉信息集長度,如果大于設定值,則進行樹葉信息集劃分;
e、對步驟d中得到的樹葉信息集進行加密;
2)所述刪除操作,其具體步驟如下
a、如果刪除位置涉及多個樹葉信息集,則先將其解密并合并成一個樹葉信息集;
b、在需要文本刪除的位置,直接修改刪除部分的前驅的樹葉關聯(lián)位置;
C、刪除需要刪除部分的位置信息;
d、將刪除后的樹葉信息集進行長度均衡化處理,加密并存盤;
3)所述修改操作,以文本刪除及添加的方式來實現(xiàn)。
七、作為對上述密文全文檢索系統(tǒng)技術方案的再進一步推廣,本系統(tǒng)可以應用于對等網(wǎng)絡基于對等網(wǎng)絡,我們提出安全覆蓋網(wǎng)的概念,并在此基礎上提供對等全文檢索;本基于安全覆蓋網(wǎng)的密文對等全文檢索系統(tǒng),包括有集中式檢索服務器和對等節(jié)點;
I)所述安全覆蓋網(wǎng),是將所述對等網(wǎng)絡中的對等節(jié)點按照其安全級支配關系組織起來形成的網(wǎng)絡;在該安全覆蓋網(wǎng)中,安全級高的節(jié)點直接或間接支配安全級地的節(jié)點,同時,數(shù)據(jù)由安全級高的節(jié)點流向安全級受其支配的節(jié)點。安全覆蓋網(wǎng)在滿足對等節(jié)點之間互操作的同時,可限制操作涉及的節(jié)點范圍,并減少無用信息的傳播和操作,提高整體效率;
所述安全覆蓋網(wǎng)的構建,其步驟如下
a、節(jié)點(P)在對等網(wǎng)絡中廣播加入安全覆蓋網(wǎng)的消息;
b、安全級支配節(jié)點(P)的節(jié)點集以u應答,并將節(jié)點(P)加入到受自己支配的節(jié)點集中;
C、安全級受節(jié)點(P)支配的節(jié)點集以d應答,并將節(jié)點(P)加入到支配自己的節(jié)點集中;
d、節(jié)點(P)根據(jù)其它節(jié)點的應答,將其加入到支配自己的節(jié)點集或受自己支配的節(jié)點集中;
2)所述基于安全覆蓋網(wǎng)的全文檢索由集中式檢索和基于安全覆蓋網(wǎng)的對等檢索兩部分組成。[0115]所述集中式檢索,是由一臺服務器或多臺服務器組成的服務器集群提供檢索功能,其檢索由節(jié)點直接向檢索服務器發(fā)起;檢索的結果由節(jié)點緩存,作為節(jié)點提供檢索服務的數(shù)據(jù);
所述基于安全覆蓋網(wǎng)的對等檢索,是在上述集中式檢索的基礎上增加對等檢索功能,該對等檢索是由對等節(jié)點在安全覆蓋網(wǎng)中發(fā)起并執(zhí)行,其檢索的對象是各節(jié)點緩存的內容;
以下以節(jié)點(P)執(zhí)行檢索請求q為例,說明所述基于安全覆蓋網(wǎng)的全文檢索的步驟
a、節(jié)點(P)自己執(zhí)行q ;
b、節(jié)點(P)將q發(fā)送給所有安全級受自己支配的節(jié)點;
C、接收到q的各節(jié)點自己執(zhí)行q ;
d、接受到q的各節(jié)點,將q繼續(xù)發(fā)給安全級受自己支配的所有節(jié)點;
e、節(jié)點(P)收集并將對等檢索結果呈現(xiàn)給用戶,如果用戶滿意則結束執(zhí)行;
f、節(jié)點(P)將q發(fā)給集中式檢索服務器,緩存檢索結果并向用戶呈現(xiàn)。
3)所述基于安全覆蓋網(wǎng)的全文檢索方法還包括有基于樞紐節(jié)點的索引文件副本復制機制;
所述基于樞紐節(jié)點的索引文件副本復制機制,是在對等網(wǎng)絡基礎上,綜合了傳統(tǒng)副本復制機制的優(yōu)點提出的一種新的副本復制機制;該機制通過樞紐節(jié)點的副本,保證了來自不同方向的查找可以快速得到資源,且不增加網(wǎng)絡帶寬占用,更適合于信息量巨大時的對等全文檢索;
所述基于樞紐節(jié)點的索引文件副本復制機制,包括有如下至少兩部分
第一部分是發(fā)現(xiàn)并存儲樞紐節(jié)點;
第二部分是通過設置不同閾值觸發(fā)源節(jié)點或樞紐節(jié)點的副本復制,其中將源節(jié)點緩存設為樞紐副本復制的補充;
所述基于樞紐節(jié)點的索引文件副本復制機制下的索引文件副本復制步驟如下
a、當保存數(shù)據(jù)的節(jié)點接收到新的查詢請求后,該節(jié)點中的副本復制機制將請求中的路由信息保存在路由表中,通過比較來發(fā)現(xiàn)樞紐節(jié)點;
b、本復制機制統(tǒng)計每個樞紐節(jié)點的請求次數(shù)并設置閾值進行約束;
C、本復制機制記錄查詢源節(jié)點的請求次數(shù);
d、在收到大量不同路徑對同一數(shù)據(jù)的請求并達到相應閾值時,通過樞紐節(jié)點復制機制,將數(shù)據(jù)復制到這些路徑的樞紐節(jié)點中;
e、在步驟d的基礎上,若仍有某些源節(jié)點對一些數(shù)據(jù)的請求達到另一更高閾值時,則將數(shù)據(jù)直接在該源節(jié)點上進行復制。
本發(fā)明密文全文檢索系統(tǒng)基于我們提供的密文動態(tài)后繼樹索引結構、分詞分組方法、文檔局部級的密文動態(tài)后繼樹索引更新方法,實現(xiàn)了安全高效的索引創(chuàng)建、索引的動態(tài)更新以及密文狀態(tài)下的全文檢索和子串查詢;實現(xiàn)了在P2P網(wǎng)絡中組織安全覆蓋網(wǎng),并在此基礎上創(chuàng)建基于對等網(wǎng)絡樞紐節(jié)點的索引文件副本復制機制。與現(xiàn)有的密文全文檢索系統(tǒng)相比,本發(fā)明具有如下優(yōu)勢
(I)高安全性分詞分組方法保證了索引詞的安全性。對動態(tài)后繼樹索引結構中分詞加密,屏蔽了分詞的真正語義,周期性地更新分詞密文使得攻擊者對索引文件詞表中的密文分詞分析變得無效。對樹葉信息集加密,屏蔽了分詞位置信息。用偽文檔編號組防止了攻擊者通過獲得密文分詞的位置信息從而拼湊出一篇密文文檔的內容。對樹葉信息集進行劃分,并將得到的樹葉信息子集與樹葉變種捆綁加密,既防止了密文長度統(tǒng)計攻擊,又進一步保證了分詞的安全性。檢索時不需解密密文索引詞,只解密檢索過程中需要的樹葉信息集,對不需要的樹葉信息集仍保持密文狀態(tài)。
(2)高創(chuàng)建效率和檢索效率經(jīng)過一次掃描,即可對原文分詞并創(chuàng)建索引樹。位于樹根的分詞組成樹根表,位于樹葉的分詞組成樹葉表,樹葉分詞在原文檔中的位置信息組成樹葉信息集。每個樹根表項對應一個樹葉表,每個樹葉表項對應一個樹葉信息集,樹根表和樹葉表的表項在內存中用字典順序的HashTree來存儲,檢索時按需解密,提高了查找速率。
(3)索引更新的高動態(tài)本發(fā)明提出的更新粒度為文檔局部級的索引動態(tài)更新方法可在需要更新的地方,直接對節(jié)點進行增、刪、改操作,不需要預留空間,也不用附加索弓丨,實現(xiàn)了索引文件的實時動態(tài)更新。
(4)實現(xiàn)了密文子串查詢本系統(tǒng)模型利用樹葉位置和樹葉關聯(lián)位置來記錄待匹配串子串的位置關系,在索引詞不脫密狀態(tài)下實現(xiàn)子串查詢,不但保證了密文索引庫的安全,同時也節(jié)省了密文子串查詢的開銷。
(5)可擴展性好,解決海量數(shù)據(jù)索引文件的分布存儲和檢索問題提出了用于對等全文檢索的安全覆蓋網(wǎng)概念,在不影響查全率和查準率的前提下,解決了海量密文數(shù)據(jù)索引文件的分布存儲和檢索問題,實現(xiàn)了海量數(shù)據(jù)向分布式P2P網(wǎng)絡對等節(jié)點存儲和檢索,同時仍保持具有密文子串查詢和密文索引文件動態(tài)更新特性。
(6)降低網(wǎng)絡消耗基于樞紐節(jié)點的索引文件副本復制機制,該機制是綜合了傳統(tǒng)副本復制機制的優(yōu)點提出的一種新的副本復制機制;該機制通過樞紐節(jié)點的副本,保證了來自不同方向的查找可以快速得到資源,且不增加網(wǎng)絡帶寬占用,更適合于信息量巨大時的對等全文檢索,進一步提聞了對等網(wǎng)絡環(huán)境下全文檢索的效率。
圖I是本發(fā)明密文全文檢索系統(tǒng)的一個實施例的體系結構圖。
圖2是本發(fā)明密文全文檢索系統(tǒng)的一個實施例的結構組成示意圖。
圖3是本發(fā)明密文全文檢索系統(tǒng)文檔密文庫和文檔概要密文庫的創(chuàng)建示意圖。
圖4是本發(fā)明基于動態(tài)后繼樹索引結構的密文全文檢索系統(tǒng)所采用的密文動態(tài)后繼樹索引的一個實施例的結構示意圖。
圖5是本發(fā)明基于動態(tài)后繼樹索引結構的密文全文檢索系統(tǒng)的一個實施例的索引創(chuàng)建過程示意圖。
圖6是本發(fā)明密文全文檢索系統(tǒng)密文檢索過程的示意圖。
圖7是本發(fā)明密文全文檢索系統(tǒng)的一個實施例的安全覆蓋網(wǎng)示例圖。
圖8是本發(fā)明密文全文檢索系統(tǒng)基于安全覆蓋網(wǎng)的全文檢索原理示意圖。
圖9是本發(fā)明密文全文檢索系統(tǒng)基于樞紐節(jié)點的副本復制機制。
具體實施方式
以下結合附圖及實施例對本發(fā)明密文全文檢索系統(tǒng)和基于動態(tài)后繼樹索引結構的密文全文檢索系統(tǒng)及其工作原理作進一步地說明。
如圖I所示,本發(fā)明系統(tǒng)包括原始文本處理模塊100、分詞模塊200、加密模塊300、文檔密文存儲模塊400、密文索引模塊500、密文檢索模塊600、檢索結果處理模塊700和系統(tǒng)管理模塊800。
系統(tǒng)工作原理步驟如下
(I)用戶通過系統(tǒng)管理模塊800實現(xiàn)安全登錄后,系統(tǒng)判斷用戶選擇是執(zhí)行創(chuàng)建索引文件還是執(zhí)行檢索功能,如果是檢索則進入第15步;
(2)系統(tǒng)把用戶提交的涉密原始文本文檔原文轉化為純文本,提取原文本文件中
的主題、正文及其他附加屬性,并形成文檔概要;
(3)系統(tǒng)對主題、正文、附加屬性進行分詞處理,并提取特征向量;
(4)系統(tǒng)對步驟(2)中得到的純文本文檔、文檔概要分別加密;
(5)系統(tǒng)把步驟(4)中得到的文檔密文分布存儲到相應的文檔密文庫,把步驟(4)中得到的文檔概要密文分布存儲到相應的文檔概要密文庫;
(6)系統(tǒng)對步驟(3)中得到的分詞、特征向量分別加密;
(7)系統(tǒng)把步驟(6)中得到的特征向量密文存儲到特征向量密文庫。
(8)對步驟(6)中得到的密文分詞分發(fā)到各索引服務器;
(9)各索引服務器根據(jù)步驟(8)中的密文分詞檢索得到相應的分詞位置密文;
(10)對步驟(9)中得到的分詞位置密文進行解密;
(11)將步驟(10)中解密后的分詞位置傳回相應索引服務器;
(12)索引服務器根據(jù)分詞位置創(chuàng)建索引;
(13)對步驟(12)中得到的索引進行加密;
(14)將步驟(13)中得到的密文索引存儲到相應的密文索引庫;
(15)用戶提交檢索詞/串;
(16)系統(tǒng)對對用戶提交的檢索詞/串進行分詞并進行查詢擴展;
(17)系統(tǒng)對步驟(16)中得到的擴展分詞集進行加密;
(18)系統(tǒng)對步驟(17)中得到的擴展密文分詞集以廣播方式分發(fā)到各索引服務器;
(19)各索引服務器進行檢索;
(20)系統(tǒng)收集各索引服務器返回的文檔編號集;
(21)系統(tǒng)根據(jù)步驟(20)中得到的文檔編號集讀取相應文檔特征向量密文;
(22)解密步驟(21)中得到的特征向量密文;
(23)系統(tǒng)利用步驟(22)中得到的特征向量對文檔編號集進行排序;
(24)系統(tǒng)根據(jù)步驟(23)中得到的有序的文檔編號集讀取相應文檔概要密文;
(25)將文檔概要密文解密;
(26)將解密后的文檔概要顯示給用戶;
(27)根據(jù)用戶的選擇獲取相應的文檔密文;
(28)對文檔密文進行解密;[0182](29)將解密后的文檔顯示給用戶。
( 二)下面結合圖2分別對各模塊在上述步驟中的作用作進一步詳細地說明
I、原始文本處理模塊100
文本的預處理主要包括有兩個方面物理上,是對文檔實物電子化處理;邏輯上,是對電子文檔歸一化和分類處理。如圖2所示,該原始文本處理模塊100包括有轉化單元110、提取單元120和概要單元130,其中,轉化單元110實現(xiàn)電子化紙質文檔,就是使紙質文檔經(jīng)過掃描等方式后,得到可以處理的電子化原始文檔,以及,將需要處理的電子文檔統(tǒng)一轉化為純文本文檔;提取單元120負責對上述純文本文檔中的文檔信息進行提取,提取的信息包括但不限于主題(標題、摘要、關鍵字)、正文、附加屬性(作者、作者單位、來源、時間);概要單元130將主題、摘要、作者、時間、來源等組織成文檔概要。2、分詞模塊200:
分詞模塊200用于對所述原始文本處理模塊所提供的文檔主題、正文及附加屬性等進行分詞并提取特征向量,以及,用于對所述密文檢索模塊提供的檢索詞/串進行分詞和查詢擴展。其中,分詞單元210對傳送過來的主題、正文、附加屬性、檢索詞/串等進行分詞;特征向量單元220從分詞結果中提取文檔特征詞,形成特征向量;查詢擴展單元230對檢索詞/串分詞進行查詢擴展。
3、加密模塊300:
加密模塊300,包括提供加密和解密功能,具體包括有文檔加密單元310、分詞加密單元320、分詞位置加密單元330
(I)文檔加密單元310,負責對原始文本預處理模塊100傳送來的純文本文檔、文檔概要,分詞模塊200傳送來的特征向量進行加密處理;該文檔加密單元310中,包括有文檔加密信息表、加密運算器;所述文檔加密信息表用于獲取對純文本文檔、文檔概要、特征向量加密所需的密鑰和加密算法;
(2)分詞加密單元320,負責對分詞模塊200傳送來的分詞明文進行加密處理。分詞加密單元320中包括有分詞分組子模塊、分詞分組加密信息表、加密運算器。所述分詞分組加密信息表用于獲取對分詞加密所需的密鑰和加密算法;其加密過程中還需要使用到密鑰管理器、加密算法庫。在對分詞進行加密時,利用分詞分組加密信息表中的參數(shù)計算分詞加密密鑰,為相同的分詞提供相同的加密算法和密鑰,保證相同的分詞加密的密文結果相同。
所述分詞分組子模塊負責對分詞明文進行分組,其分詞分組方法包括分詞分組創(chuàng)建和分詞分組更新兩種操作,其中分詞分組創(chuàng)建是對來自分詞模塊200的分詞明文進行隨機分組,分詞分組更新是使每個分詞在不同的周期內屬于不同的分詞分組,增強分詞分組的隨機性。
I)分詞分組創(chuàng)建
分詞分組創(chuàng)建時,分詞加密單元320首先接收來自分詞模塊200的分詞明文,根據(jù)分詞分組加密信息表對分詞明文進行分組,并將處理得到的分詞分組信息發(fā)送給密鑰管理器;所述密鑰管理器根據(jù)分詞分組信息到加密算法庫中提取加密算法,并計算分詞分組密鑰,然后對分詞進行加密處理,并將得到的密文分詞發(fā)送給密文索引模塊500。
2)分詞分組更新[0196]由系統(tǒng)觸發(fā)當前分詞分組與它相鄰的下一個分詞分組之間的更新。因為密鑰管理器是利用分詞分組信息生成分詞分組密鑰,所以系統(tǒng)會同時觸發(fā)索引詞密文的更新。為了防止索引詞密文比較頻繁的更新,將分詞組間更新的周期設置為分詞分組更新的周期的整數(shù)倍。
分詞分組更新時,分詞分組子模塊隨機交換相鄰的兩個需要更新的分詞分組中的分詞,得到并保存新分詞分組信息;根據(jù)分詞分組加密信息表查找加密算法庫,得到兩個相鄰分詞分組當前的分詞分組加密算法和下一周期的新分詞分組加密算法;根據(jù)新舊分詞分組和分詞分組當前周期分別計算兩個相鄰分詞分組的當前分詞分組密鑰和下一周期的新分詞分組密鑰;根據(jù)新舊密鑰對和加密算法對,加密分詞分組中的各個分詞,得到新舊分詞密文對集;根據(jù)新舊分詞密文對,更新舊分詞密文;更新結束。
(3)分詞位置加密單元330 :包括有分詞位置加密信息表、加密運算器;所述分詞位置加密信息表用于獲取對分詞位置信息加密所需的密鑰和加密算法;
所述文檔加密單元310、分詞加密單元320、分詞位置加密單元330在加密過程中還需要使用到密鑰管理器、加密算法庫;
4、文檔密文存儲模塊400
文檔密文存儲模塊400用于分布存儲、提供文檔概要密文和文檔密文,包括有文檔密文分布代理模塊410和分布式文檔密文管理模塊420。文檔密文分布代理模塊410根據(jù)文檔標準碼將文檔密文和文檔概要密文分發(fā)到相應的文檔密文服務器。分布式文檔密文管理模塊420用來管理文檔密文和文檔概要密文,可由若干個文檔密文服務器、文檔概要密文庫和文檔密文庫組成。文檔密文服務器負責對所屬的文檔概要庫和文檔密文庫進行存取。
下面結合圖3介紹文檔密文庫和文檔概要密文庫的創(chuàng)建過程
(I)原始文本處理模塊100對文檔進行預處理,生成文檔編號、文檔標準碼、純文本文檔、文檔概要;
(2)對純文本文檔和文檔概要加密;加密過程如下加密模塊300收到一篇純文本文檔和文檔概要,向加密模塊300的加密算法庫獲取一個隨機的文檔加密算法,由加密模塊300的密鑰管理器生成文檔加密密鑰,同時密鑰管理器向文檔加密信息表新增一條記錄;使用該算法和文檔加密密鑰對純文本文檔和文檔概要加密,得到文檔密文和文檔概要密文,由加密模塊300將文檔密文和文檔概要密文傳給文檔密文存儲模塊400 ;
(3)文檔密文存儲模塊400中的文檔密文分布代理模塊410根據(jù)文檔標準碼對文檔密文和文檔概要密文分發(fā)到相應的文檔密文服務器;文檔密文服務器把文檔密文和文檔概要密文存放到相應的文檔密文庫和文檔概要密文庫。
5、密文索引模塊500:
密文索引模塊500包括有密文分詞分布代理模塊510、分布式密文索引管理模塊520。其中,密文分詞分布代理模塊510負責將密文分詞分布到索引服務器上;分布式密文索引分布管理模塊520包括有至少一個索引服務器和若干個密文索引庫,由索引服務器管理各個密文索引庫;各索引服務器接收來自所述加密模塊提供的密文分詞和分詞位置信息創(chuàng)建索引,存儲密文索引到相應的密文索引庫;索引服務器包括有文檔編號信息表;所述文檔編號信息表用于記錄文檔對應的偽文檔編號組;所述偽文檔編號組是文檔編號的一個一對多映射組成的集合,由系統(tǒng)生成。
(I)密文動態(tài)后繼樹索引結構
在本發(fā)明密文全文檢索系統(tǒng)中,還應用有本發(fā)明人首次提出的密文動態(tài)后繼樹索引結構,下面結合圖4和實例進一步介紹
密文動態(tài)后繼樹索弓I是一個森林,其每一棵子樹的結構包括樹根的密文,樹葉的密文,以及偽文檔編號、樹葉位置、樹葉關聯(lián)位置、樹葉變種組成的樹葉信息集的密文;
樹根,用于指代位于樹根的分詞;
樹葉,即樹根的后繼,用于指代位于樹葉的分詞;
偽文檔編號,是偽文檔編號組的一個元素;
樹葉位置,用于指代當前樹葉在文檔中的位置;
樹葉關聯(lián)位置,用于指代指向當前樹葉的后繼的分詞的指針;
樹葉變種,用于指代代替原樹葉的一串字符串;
子樹的索引結構可以表示為樹根<樹葉([偽文檔編號,K樹葉位置,樹葉關聯(lián)位置)}],樹葉變種)>,其中同一樹根下的樹葉密文之間互不相同;[偽文檔編號,K樹葉位置,樹葉關聯(lián)位置)}]為一個樹葉信息,由偽文檔編號、位置列表組成,偽文檔編號用來干擾文檔的真正編號,以防止攻擊者獲得位置信息后拼湊出該篇文檔的密文;一片樹葉對應一個樹葉信息集和一個樹葉變種,樹葉變種允許為空,但樹葉信息集不能為空。
例密文動態(tài)后繼樹索引
En (H (a)) < En (H (a)) (En ([3,{(3,4)} ],lvl)),En (H (b)) En ([3,{(1,2), (9,10)}],lv2)) >的示意圖如圖4所示,圖中灰色部分表示進行加密或者單向散列后加密。
(2)密文動態(tài)后繼樹索引創(chuàng)建
密文動態(tài)后繼樹索引創(chuàng)建時,如圖5所示,分詞模塊200接收來自原始文本處理模塊100的主題、正文及附加信息,由分詞單元210對這些信息進行分詞處理;分詞單元210將得到的分詞傳送給加密模塊300,由其分詞加密單元320對分詞進行加密;分詞加密單元320將密文分詞傳送給密文索引模塊500,由密文分詞分布代理模塊510提取密文分詞對應的文檔標準碼,根據(jù)文檔標準碼將密文分詞分布到分布式密文索引管理模塊520中對應的索引服務器;索引服務器為新增的各文檔編號分配偽文檔編號組,并記錄到文檔編號信息表;查找當前可用的索引庫,并將此庫中受新增文檔影響的樹葉及樹葉信息集發(fā)送到加密模塊300 ;分詞位置加密單元330對接收到的樹葉的樹葉信息集解密后發(fā)送回相應的索引服務器;索引服務器隨機選取偽文檔編號為相應文檔創(chuàng)建索引;索引服務器將相應的樹葉信息集發(fā)送到分詞位置加密單元330 ;分詞位置加密單元330對接收到的樹葉信息集進行加密,加密后傳回索引服務器;索引服務器將收到的密文索引存儲到相應的密文索引庫;
密文動態(tài)后繼樹索引結構中所有的樹根節(jié)點組成一個樹根表,相同樹根下的所有樹葉節(jié)點組成一個樹葉表;每個樹根表項對應一個樹葉表,每個樹葉表項對應一個樹葉信息集和一個樹葉變種。其創(chuàng)建算法如算法I所示。
算法I :密文動態(tài)后繼樹索引創(chuàng)建算法
輸入密文分詞
輸出密文索引文件
for (每個密文分詞)[0227]{
把密文分詞插入索引;
if (樹葉信息集長度大于平均長度)
進行樹葉信息集劃分;
}
加密樹葉信息集并存盤;
算法結束。
(3)樹葉信息集加密
為保證索引的安全,對樹葉信息集進行加密,屏蔽樹葉分詞在原文檔中的位置信息。由于高頻詞的樹葉信息集長度可能過長,容易讓攻擊者通過統(tǒng)計密文長度而獲得高頻詞相關信息,因此我們采用了樹葉信息集劃分的方法。該方法均衡了樹葉信息集長度,可防止密文長度統(tǒng)計攻擊。下面描述幾個定義
樹葉信息集長度一個樹葉信息集所包含的字節(jié)數(shù);
樹葉信息集平均長度密文動態(tài)后繼樹索引中,全部樹葉信息集所包含的字節(jié)數(shù)的平均值;
樹葉信息集劃分在密文動態(tài)后繼樹索引中,任意一個樹葉信息集的長度若大于樹葉信息集平均長度,則將其劃分為多個無交集子集,各子集長度在系統(tǒng)設定的范圍內,并為除首個樹葉信息集子集之外的各子集分別隨機生成樹葉變種,使每個子集都對應一個樹葉變種或一片樹葉。
下面進一步描述樹葉信息集的加密過程
I)對一個樹葉信息集明文,分詞位置加密單元330向加密模塊300中的密鑰管理器請求對應的分詞位置密鑰和分詞位置加密算法編號;
2)根據(jù)密文分詞,在分詞位置加密信息表中獲取密鑰生成參數(shù)和分詞位置加密算法編號,并傳送給密鑰管理器;
3)分詞位置加密單元330根據(jù)分詞位置加密算法編號從加密算法庫中獲取對應的分詞位置加密算法,并用分詞位置密鑰對樹葉信息集明文進行加密。
(4)索引密文更新包括分詞密文的更新和樹葉信息集密文的更新
分詞密文的更新由系統(tǒng)觸發(fā),按分詞分組逐步更新,以密文索引庫返回成功更新響應后重置更新計時器為結束。其詳細過程見分詞分組方法中分詞分組的更新。
樹葉信息集密文更新由系統(tǒng)觸發(fā),按分詞分組逐步更新,以密文索引庫返回成功更新響應后重置更新計時器為結束。密鑰管理器首先接收來自分詞位置加密信息表中需要更新的樹葉信息集對應的加密信息;根據(jù)加密信息計算分詞分組密鑰,新舊分詞位置密鑰;查找加密算法庫,得到分詞分組加密算法和新舊分詞位置加密算法;加密運算器對分詞進行加密得到密文分詞;根據(jù)密文分詞在密文索引庫中查找相應的樹葉信息集密文;分詞位置加密單元330根據(jù)舊分詞位置密鑰和算法對樹葉信息集密文解密,得到樹葉信息集明文;用新分詞位置密鑰和算法對樹葉信息集明文進行加密,得到新的樹葉信息集密文;用新樹葉信息集密文替換密文索引庫中的舊樹葉信息集密文。
(5)更新粒度為文檔局部級的密文動態(tài)后繼樹索引更新方法
密文動態(tài)后繼樹的索引更新是在密文狀態(tài)下用更新粒度為文檔局部級的索引動態(tài)更新算法,實現(xiàn)密文動態(tài)后繼樹索引的高動態(tài)性,提高密文索引更新的效率。密文動態(tài)后繼樹上更新粒度為文檔局部級的索引動態(tài)更新主要包括增加、刪除和修改操作。
增加操作是對添加文本的前驅的樹葉關聯(lián)位置進行修改,使其指向添加文本的首字符樹葉位置,同時將前驅樹葉原先的關聯(lián)位置值寫入添加文本的尾字符樹葉關聯(lián)位置。每次插入新的位置信息后,將該密文分詞的樹葉信息集長度與平均長度進行比較,若小于平均長度,則無需進一步處理對應的樹葉信息集,增加操作完成;若大于平均長度,則需要對該分詞的樹葉信息集進行樹 葉信息集劃分,同時根據(jù)劃分的子集數(shù)量n,隨機產(chǎn)生η-i個樹葉變種,將樹葉變種插入到對應樹根的樹葉表中。
在進行刪除操作時,如果需要對包含兩個以上的樹葉信息集進行操作,則先將其解密并合并成一個樹葉信息集。在單個樹葉信息集上,修改刪除部分的前驅的樹葉關聯(lián)位置,并刪除需要刪除的位置信息,再將刪除后的樹葉信息集進行長度均衡化處理,加密并存盤。
修改操作以文本刪除及添加的方式來實現(xiàn),可以看成刪除和增加的復合操作。
更新過程如算法2所示。
算法2 :密文狀態(tài)下更新粒度為文檔局部級的索引動態(tài)更新算法
輸入文檔變更部分
輸出變更后的索引文件
對索引中每個分詞的樹葉信息集進行解密;
把文檔變更部分在舊文檔中的上下文位置信息保存到臨時狀態(tài)表;
if (增加)對變更部分用相對位置創(chuàng)建樹葉信息再并入原索引中;
else
if (刪除)在原索引中直接刪除變更部分;
else在原索引中直接對變更部分修改;
對索引中每個分詞的樹葉信息集進行加密;
算法結束。
例有一文檔編號為3的文本acbbba#,原文本的索引信息為{En (H (a))< En (H(c)) (3,{(2,3)}),# >,En(H(b)) < En (H (a)) (3, {(6,#)}),En (H(b)) (3,{(4,5),(5,6)}) >,En(H(c)) < En(H(b)) (3, {(3,4)}) >}。
在第4個分詞后插入字符串bc,得到新文本acbbbcba。根據(jù)算法2的描述(1)解密每個樹葉分詞的樹葉信息集;(2)記錄插入字符串be在原文本中上下文的位置信息到臨時狀態(tài)表;(3)對插入字符串be創(chuàng)建樹葉信息,得到IEn (H(b)) <En(H(b)) (3,{(-1,-2)})>,En(H(b)) < En(H(c)) (3,{(-2,5)}) >,En(H(c)) < En(H(b)) (3,{(5,6)}) > } ; (4)將該樹葉信息插入原索引中,并根據(jù)臨時狀態(tài)表中的記錄修改密文動態(tài)后繼樹索引。
在第2個分詞后刪除字符串bbb,得到新文本aca。根據(jù)算法2的描述⑴記錄刪除字符串bbb原文本中上下文的位置信息到臨時狀態(tài)表;(2)在原索引中將密文動態(tài)后繼樹索引 En(H(b)) <En(H(b)) (3,{(4,5),(5,6)}) >,En(H(c)) < En(H(b)) (3,{(3,4)})>中的 En(H(b)) (3,{(4,5), (5,6)}),En (H(b)) (3,{(3,4)})刪除;(3)根據(jù)臨時狀態(tài)表中的記錄修改密文動態(tài)后繼樹索引。
6、密文檢索模塊600[0267]密文檢索模塊600是為系統(tǒng)的合法用戶提供相應級別的信息檢索功能,包括檢索語句提交單元610和檢索服務器620。檢索服務器620用于將擴展密文分詞集以廣播方式分發(fā)到各索引服務器,接收并處理各索引服務器返回的結果,然后將得到的無序文檔編號集發(fā)送給檢索結果處理模塊700。
密文檢索過程如圖6所示。在檢索過程中,合法用戶輸入檢索詞/串,并由檢索語句提交單元610提交給分詞模塊200,由分詞模塊200中的分詞單元210和查詢擴展單元230對檢索詞/串進行分詞及擴展得到擴展分詞集,再由加密模塊300中的分詞加密單元320對擴展分詞集進行加密得到密文分詞,將密文分詞通過檢索服務器620以廣播方式分發(fā)到分布式密文索引管理模塊520中各索引服務器,由各索引服務器進行檢索,最后由檢索服務器620收集各索引服務器返回的文檔編號集,去重并提交給檢索結果處理模塊700。
動態(tài)后繼樹索引結構的檢索,根據(jù)分詞的個數(shù)劃分為單分詞檢索、雙分詞檢索、多分詞檢索,以檢索詞“qsl,qs2,-,qsi,…,qsn”為例說明,η為檢索詞/串的分詞個數(shù),其步驟如下
I)判斷檢索詞/串的分詞個數(shù)如果η= 1,則轉入2);如果η = 2,則轉入3);否則轉入4);
2)判斷樹根表是否存在該分詞;若存在,則檢索命中結果集為該分詞的樹葉表中所有樹葉的樹葉信息集的樹葉位置的集合;檢索結束;
3)判斷樹根表是否存在qsl ;判斷qsl的樹葉表是否存在qs2 ;若qsl、qs2都存在,則檢索命中結果集為qs2的樹葉信息集的樹葉位置的集合;檢索結束;
4)判斷樹根表是否存在qsl,如果存在,判斷qsl的樹葉表是否存在qs2 ;
5)若qsl、qs2都存在,則獲取qs2的樹葉信息集的關聯(lián)位置的集合,記為Urpi ;
6)以3彡j彡η進行循環(huán),判斷qsi的樹葉表是否存在qsj ;若存在,則獲取qsj的樹葉信息集的樹葉位置的集合,記為sp j ;計算sp j與Urpi的交集,即qsj的樹葉位置子集,記為Uspj ;獲取qsj的樹葉信息集的關聯(lián)位置的子集合,記為Urpj ;最多循環(huán)n_2次便得到初步結果Urpj ;
7)檢索命中結果集為Urpj中所有樹葉信息集的樹葉位置的集合;檢索結束。
以上的結構表明,本檢索可以實現(xiàn)密文子串查詢和檢索過程按需解密
(I)密文子串查詢是密文全文檢索系統(tǒng)查全率的重要保障。本系統(tǒng)模型利用樹葉位置和樹葉關聯(lián)位置來記錄待匹配子串的位置關系,在索引詞密文不脫密的狀態(tài)下實現(xiàn)子串查詢,不但保證了索引庫的安全,同時也節(jié)省了對密文子串查詢時的開銷,具有查詢效率聞,無漏檢的特點。
(2)基于動態(tài)后繼樹索引結構的檢索,由于該索引結構結合了詞表法和單漢字法,可以實現(xiàn)按需解密,即只需對檢索到的樹葉信息集密文進行解密,提高了系統(tǒng)安全性和檢索效率。
7、檢索結果處理模塊700
檢索結果處理模塊700負責檢索結果集的排序和顯示,包括檢索結果排序單元720和結果顯示單元730。檢索結果排序單元720用于對無序的文檔編號集進行排序。結果顯示單元730包括文檔概要顯示和文檔顯示,文檔概要顯示內容包括主題、摘要、作者、時間、來源等。圖2所示的檢索結果處理模塊700中,從方便分析系統(tǒng)工作流程及保持圖面整潔的角度考慮,還包括有特征向量密文庫710,但根據(jù)本領域技術人員的常識,所述特征向量密文庫710作為一個數(shù)據(jù)庫,并不限定放置于所述檢索結果處理模塊700中。
檢索結果處理模塊700接收到檢索結果集中的文檔編號集,由檢索結果排序單元720提取文檔特征向量密文并發(fā)送到加密模塊300解密,然后對結果集進行排序。根據(jù)有序的結果集提取相應的文檔概要密文并解密返回給用戶,再按照用戶選擇的文檔進行文檔密文提取,經(jīng)過加密模塊300解密后將整篇文檔返回給用戶。
檢索結果排序及顯示過程
(I)檢索結果處理模塊700接收到無序的結果集,到特征向量密文庫710讀取相應文檔的特征向量密文,將特征向量密文和文檔編號發(fā)送給加密模塊300 ;
(2)加密模塊300中的密鑰管理器讀取文檔加密信息表,動態(tài)生成文檔加密密鑰,
并將加密密鑰和文檔加密算法傳遞給文檔加密單元310。文檔加密單元310對特征向量密文進行解密,得到特征向量明文;
(3)在檢索結果排序單元720計算查詢串與特征向量明文的相關度,對文檔編號集按相關度降序排列得到有序的文檔編號集,并將有序文檔編號集發(fā)送給文檔密文分布代理模塊410 ;
(4)文檔密文分布代理模塊410根據(jù)文檔標準碼將文檔編號發(fā)送到相應的文檔密文服務器;
(5)文檔密文服務器從文檔概要密文庫獲取各文檔的文檔概要密文,并發(fā)送到加密模塊300進行解密,其解密方法如步驟(2)所述;
(6)解密后的文檔概要由結果顯示單元730展示給用戶;
(7)當用戶選擇某一篇文檔后,系統(tǒng)從文檔密文庫中獲取到該文檔密文,解密并顯示給用戶。
8、系統(tǒng)管理模塊800
系統(tǒng)管理模塊800用來管理用戶權限,對部門、角色、用戶的基本信息以及它們之間的映射關系進行維護更新等;該模塊包括用戶信息表、角色權限表、部門信息表、用戶部門關系表以及用戶角色關系表;其中,角色權限表用來記錄角色基本信息和角色權限,可由16位權限位串組成。
用戶登錄以后,由系統(tǒng)管理模塊讀取用戶的角色、部門等相關信息,獲取用戶的權限位串,得到當前用戶的操作權限。在檢索過程中,系統(tǒng)只檢索用戶權限內的地域、密級的密文索引庫。
在進行用戶管理時,對用戶賬號進行權限分級,不同級別賬號的權限不同,對密文按照密級分級,不同級別的密文對用戶訪問權限的要求也不同。為防止低權限用戶訪問高權限用戶的信息,規(guī)定系統(tǒng)的讀寫規(guī)則為向下看、向上寫。系統(tǒng)可設立三權分立機制,即分別設立系統(tǒng)管理員、系統(tǒng)安全員、系統(tǒng)審計員。系統(tǒng)管理員負責操作系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的運行、維護、口令設置。系統(tǒng)安全員負責數(shù)據(jù)庫的安全維護、加密數(shù)據(jù)庫的密鑰設置。系統(tǒng)審計員負責定時檢查系統(tǒng)日志,檢索各種非法操作。這樣通過三權分立,就可較大程度控制高權限人員的行為。
(三)安全覆蓋網(wǎng)及其構成方式
本發(fā)明針對涉密信息安全檢索的需要,結合對等計算技術提出安全覆蓋網(wǎng)的概念,并在此基礎上構建安全的對等全文檢索系統(tǒng)。對等全文檢索利用對等網(wǎng)絡中豐富的計算資源和檢索結果緩存來提高全文檢索的效率,安全覆蓋網(wǎng)(Secure Overlay Network,SON)是按照對等節(jié)點間安全級的支配關系將對等節(jié)點組織起來形成的網(wǎng)絡,可使對等檢索只發(fā)生在符合安全要求的對等節(jié)點集中,保證了對等檢索的安全性,提高了對等檢索的效率。
為實現(xiàn)安全的全文檢索系統(tǒng),必須在系統(tǒng)中對檢索內容實施訪問控制。本發(fā)明統(tǒng)一使用安全級來描述對等網(wǎng)絡節(jié)點的安全級別,安全級的集合是一個偏序集〈L >,對于任意的11,12 e L,如果11 ( 12,表示12支配11。通過對等節(jié)點間安全級的支配關系將對等節(jié)點組織起來就形成了安全覆蓋網(wǎng)。圖7給出了一個安全覆蓋網(wǎng)的示例圖(圖中以圓圈表示節(jié)點),從中可以看出,安全級別高的節(jié)點直接或間接支配安全級別低的節(jié)點,安全級別越低,可支配的節(jié)點數(shù)就越少。
在實際的網(wǎng)絡中,節(jié)點要記錄安全級受自己支配的鄰居節(jié)點。為提高效率,對等節(jié)點還可以記錄安全級支配自己的鄰居節(jié)點,以滿足安全檢查或操作回溯的需要。
使用UTabp記錄安全級支配節(jié)點P的節(jié)點,DTabp記錄安全級受節(jié)點P支配的節(jié)點,兩者均位于節(jié)點P上,由節(jié)點P自己維護。
節(jié)點P加入SON的算法步驟如下
(I)節(jié)點P在P2P網(wǎng)絡中廣播加入SON的消息;
(2)安全級支配P的節(jié)點集應答u并將P加入到自己的DTabp中
(3)安全級受P支配的節(jié)點集應答d并將P加入到自己的UTab中;
(4)節(jié)點P根據(jù)其它節(jié)點的應答,將應答u的節(jié)點集加入到支配自己的節(jié)點集UTabp中;將應答d的節(jié)點集加入到受自己支配的節(jié)點集DTabp中。
(四)基于安全覆蓋網(wǎng)的對等全文檢索
全文檢索是計算密集型過程,需要大量的計算資源,而P2P網(wǎng)絡富含計算、存儲、信息等資源;基于這種現(xiàn)實的網(wǎng)絡拓撲結構和應用,當索引文件是海量數(shù)據(jù)時,我們將索引文件等信息存儲于P2P網(wǎng)絡?;诎踩采w網(wǎng)的對等全文檢索(P2P Full_text Search)在集中式檢索(Centralized Search,CSearch)的基礎上,增加對等檢索功能(P2P Search,PSearch) 0基于安全覆蓋網(wǎng)的對等全文檢索充分利用了對等網(wǎng)絡中的資源,通過安全覆蓋網(wǎng)將檢索參與節(jié)點限制在一個小而滿足安全要求的范圍內,在保證涉密信息檢索的安全需求前提下,降低了系統(tǒng)負載,減少了網(wǎng)絡流量,提高了檢索效率。
集中式檢索由節(jié)點直接向檢索服務器發(fā)起,檢索的結果由節(jié)點緩存,作為節(jié)點提供檢索服務的數(shù)據(jù)。對等檢索由對等節(jié)點在安全覆蓋網(wǎng)中發(fā)起并執(zhí)行,能夠檢索的對象就是各節(jié)點緩存的內容。
節(jié)點P執(zhí)行檢索請求q的基于安全覆蓋網(wǎng)的全文檢索步驟如下
I.節(jié)點P自己執(zhí)行q ;
2.節(jié)點P將q發(fā)送給所有DTabp中的節(jié)點;
3.接收到q的節(jié)點自己執(zhí)行q ;
4.接受到q的節(jié)點將q發(fā)給其DTabp中的所有節(jié)點;
5.節(jié)點P收集并將對等檢索結果呈現(xiàn)給用戶,如果用戶滿意則結束執(zhí)行;
6.節(jié)點P將q發(fā)給集中式檢索服務器,緩存檢索結果并向用戶呈現(xiàn)。[0315]安全覆蓋網(wǎng)對等全文檢索的原理圖如圖8所示。圖中,以大圓圈表示集中式檢索服務器,圖中以小圓圈表示對等節(jié)點。P2節(jié)點發(fā)起檢索節(jié)點p2將請求發(fā)給p3,由p3發(fā)送給p4和p5,如果檢索結果不滿足要求,則p2直接向集中式檢索服務器請求檢索。pi節(jié)點發(fā)起檢索節(jié)點pl將請求發(fā)送給p2, p2將請求發(fā)送給p3,然后p3發(fā)送給p4和p5,如果檢索結果滿足要求,則不向集中式檢索服務器發(fā)起檢索。
(五)基于樞紐節(jié)點的索引文件副本復制機制
基于P2P網(wǎng)絡在富含計算、存儲等方面資源的特點,當索引文件是海量數(shù)據(jù)時,我們將全文檢索系統(tǒng)的索引文件等信息存儲于P2P網(wǎng)絡。P2P網(wǎng)絡中的節(jié)點以洪泛方式查詢資源,并且節(jié)點可以自由加入或退出,基于這種現(xiàn)實的網(wǎng)絡拓撲結構和應用,當索引文件是海量數(shù)據(jù)時,我們考慮通過基于樞紐節(jié)點的索引文件副本復制機制(JunctionReplicationMechanism, JRM)來實現(xiàn)索引文件在P2P網(wǎng)絡中的分布存儲,以降低網(wǎng)絡中多余的數(shù)據(jù)流量。該機制通過樞紐節(jié)點的副本,保證了來自不同方向的查找可以快速得到資源,且不增加網(wǎng)絡帶寬占用,更適合于信息量巨大時的對等全文檢索,進一步提高了對等網(wǎng)絡環(huán)境下全文檢索的效率。
基于樞紐節(jié)點的索引文件副本復制機制的算法包含兩部分第一部分是發(fā)現(xiàn)并存儲樞紐節(jié)點,第二部分是通過設置不同閾值觸發(fā)不同副本復制機制,其中將源節(jié)點緩存設為樞紐副本復制的補充??稍O置兩種不同的閾值,閾值α用作觸發(fā)樞紐副本復制機制,閾值β用作觸發(fā)源節(jié)點緩存機制。由于源節(jié)點緩存只是作為樞紐復制的補充,通常情況下,設置α < β以保證JRM機制的優(yōu)先權。作為完整過程的一部分,JRM機制利用最近最久未訪問(LeastRecently Used, LRU)來刪除節(jié)點中的副本,從而降低節(jié)點的存儲壓力。
所述基于樞紐節(jié)點的索引文件副本復制機制下的索引文件副本復制步驟如下
a、當保存數(shù)據(jù)的節(jié)點接收到新的查詢請求后,該節(jié)點中的副本復制機制將請求中的路由信息保存在路由表中,通過比較來發(fā)現(xiàn)樞紐節(jié)點;
b、本復制機制統(tǒng)計每個樞紐節(jié)點的請求次數(shù)并設置閾值進行約束;
C、本復制機制記錄查詢源節(jié)點的請求次數(shù);
d、在收到大量不同路徑對同一數(shù)據(jù)的請求并達到相應閾值時,通過樞紐節(jié)點復制機制,將數(shù)據(jù)復制到這些路徑的樞紐節(jié)點中;
e、在步驟d的基礎上,若仍有某些源節(jié)點對一些數(shù)據(jù)的請求達到另一更高閾值時,則將數(shù)據(jù)直接在該源節(jié)點上進行復制。
基于樞紐節(jié)點的副本復制機制如圖9所示。其中,A6為擁有源文件的節(jié)點;A4節(jié)點為樞紐節(jié)點,可用來存儲副本。其過程為A1和A3發(fā)出的查詢在A4處交匯并傳遞到A6,則A4被基于樞紐節(jié)點的副本復制機制提取出來作為樞紐節(jié)點,A4和A6是查詢的共有路線;當對A6的某資源請求此數(shù)超出閾值后,則啟動副本復制機制,直接將數(shù)據(jù)副本復制到A4。該方法直接降低了 A4到A6段的網(wǎng)絡負載。如果Al對A4的請求超過一個更高的閾值時,則系統(tǒng)啟動源節(jié)點緩存機制,將索引副本從A4拷貝到Al。這樣降低了 Al至A4間的網(wǎng)絡負載。
權利要求
1.密文全文檢索系統(tǒng),包括有原始文本處理模塊、分詞模塊、加密模塊、文檔密文存儲模塊、密文索引模塊、密文檢索模塊、檢索結果處理模塊、系統(tǒng)管理模塊;其特征在于 所述原始文本處理模塊(100),用于對文檔的原始文本進行格式化預處理,包括電子化紙質文檔和/或格式化電子原始文檔,并提取其主題、正文及附加屬性信息,以及,形成文檔概要; 所述分詞模塊(200),用于對所述原始文本處理模塊所提供的文檔主題、正文及附加屬性進行分詞并提取特征向量,以及,用于對所述密文檢索模塊提供的檢索詞/串進行分詞和查詢擴展; 所述加密模塊(300),對包括所述原始文本處理模塊傳送過來的純文本文檔、文檔概要,所述分詞模塊傳送來的特征向量、分詞進行加密操作,并將所述特征向量密文存入特征向量密文庫;對由密文索引模塊傳送過來的分詞位置信息進行加/解密操作;對包括所述文檔密文存儲模塊傳送來的文檔密文、文檔概要密文進行解密;對經(jīng)所述檢索結果處理模塊傳送來的特征向量密文進行解密;并向所述文檔密文存儲模塊、檢索結果處理模塊、密文檢索模塊、密文索引模塊提供經(jīng)加/解密的相應數(shù)據(jù); 所述文檔密文存儲模塊(400),用于分布存儲、提供文檔密文和文檔概要密文所述分布是按照地域、文檔密級和文檔分類來決定相應密文所存向的目標文檔密文服務器,各文檔密文服務器接收并存儲來自所述加密模塊提供的文檔密文和文檔概要密文;本模塊還接受所述檢索結果處理模塊的密文讀取請求,為加密模塊提供需要解密的密文; 所述密文索引模塊(500),用于分布密文分詞并創(chuàng)建、存儲密文索引,提供需要解密的密文索引,及檢索到的文檔編號所述分布是按照地域、文檔密級和文檔分類來決定相應密文索引所存向的目標索引服務器;各索引服務器接收來自所述加密模塊提供的密文分詞和分詞位置信息并進行索引創(chuàng)建;經(jīng)加密后存儲密文索引到相應的密文索引庫;本模塊還根據(jù)所述密文檢索模塊的密文分詞檢索請求,從密文索引庫中檢索到需要解密的索引分詞位置信息密文并傳送到加密模塊,及,將從加密模塊返回的文檔編號集發(fā)送給密文檢索模塊; 所述密文檢索模塊¢00),為系統(tǒng)的合法用戶提供相應級別的信息檢索服務;該模塊接收合法用戶輸入的檢索詞/串,經(jīng)審查過濾后提交給所述分詞模塊;接收加密模塊發(fā)送來的擴展密文分詞集并形成密文分詞檢索請求,然后傳送到所述密文索引模塊進行檢索;接收密文索引模塊返回的文檔編號集,并提交給所述檢索結果處理模塊; 所述檢索結果處理模塊(700),用來接收并處理所述密文檢索模塊提供的文檔編號集,并將經(jīng)過排序處理后得到的結果集返回給檢索用戶;根據(jù)所述密文檢索模塊提供的文檔編號集,從特征向量密文庫中取出相應的特征向量密文,經(jīng)加密模塊解密后對文檔編號集合進行排序;把有序的文檔編號集發(fā)送給文檔密文存儲模塊;接收經(jīng)所述加密模塊解密的相應文檔概要并顯示給用戶;根據(jù)用戶選擇的文檔概要明文提取相應文檔密文,經(jīng)加密模塊解密后顯示給用戶,其提取方式與提取文檔概要明文相同; 所述系統(tǒng)管理模塊(800),包括用來管理用戶權限,對部門、角色、用戶的基本信息以及它們之間的映射關系進行維護更新。
2.根據(jù)權利要求
I所述的密文全文檢索系統(tǒng),其特征在于, 所述原始文本處理模塊(100),包括有轉化單元(110),提取單元(120),概要單元(130);所述轉化單元(110),用于電子化紙質文檔,及,將需要處理的電子文檔統(tǒng)一轉化為純文本文檔;所述提取單元(120),用于對轉化單元(110)提供的純文本文檔中的文檔信息進行提取,提取的信息包括主題、正文、附加屬性;所述概要單元(130),將所述提取單元(120)提供的包括主題、摘要、作者、時間及來源組織成文檔概要; 所述分詞模塊(200),包括有分詞單元(210),特征向量單元(220),查詢擴展單元(230);所述分詞單元(210),用于對傳送過來的包括主題、正文、附加屬性、檢索詞/串進行分詞;所述特征向量單元(220),從分詞結果中提取文檔特征詞,形成特征向量;所述查詢擴展單元(230),對檢索詞/串分詞進行查詢擴展; 所述加密模塊(300),包括有文檔加密單元(310)、分詞加密單元(320)、分詞位置加密單元(330);所述文檔加密單元(310)負責對原始文本預處理模塊(100)傳送來的純文本文檔、文檔概要,分詞模塊(200)傳送來的特征向量進行加密處理;文檔加密單元(310)中包括有文檔加密信息表、加密運算器;所述文檔加密信息表用于獲取對純文本文檔、文檔概要、特征向量加密所需的密鑰和加密算法;所述分詞加密單元(320)負責對分詞模塊(200)傳送來的分詞進行加密處理;分詞加密單元(320)中包括有分詞分組子模塊、分詞分組加密信息表、加密運算器;所述分詞分組加密信息表用于獲取對分詞加密所需的密鑰和加密算法;所述分詞位置加密單元(330)負責對分布式密文索引管理模塊(520)傳送來的分詞位置信息進行加/解密;分詞位置加密單元(330)中包括有分詞位置加密信息表、加密運算器;所述分詞位置加密信息表用于獲取對分詞位置信息加密所需的密鑰和加密算法;所述文檔加密單元(310)、分詞加密單元(320)、分詞位置加密單元(330)在加密過程中還需要使用到密鑰管理器、加密算法庫; 所述文檔密文存儲模塊(400),包括有文檔密文分布代理模塊(410)和分布式文檔密文管理模塊(420);所述分布式文檔密文管理模塊(420),用來管理及存儲文檔密文和文檔概要密文,包括有文檔密文服務器、文檔概要密文庫和文檔密文庫,所述文檔密文服務器負責對所屬的文檔概要庫和文檔密文庫進行存??;所述文檔密文分布代理模塊(410),用于將文檔密文和文檔概要密文分發(fā)到相應的文檔密文服務器; 所述密文索引模塊(500),包括有密文分詞分布代理模塊(510)和分布式密文索引分布管理模塊(520);所述分布式密文索引分布管理模塊(520),包括有索引服務器和密文索引庫,由索引服務器管理各個密文索引庫;各索引服務器接收來自所述加密模塊提供的密文分詞和分詞位置信息創(chuàng)建索引,存儲密文索引到相應的密文索引庫;索引服務器包括有文檔編號信息表;所述文檔編號信息表用于記錄文檔對應的偽文檔編號組;所述偽文檔編號組是文檔編號的一個一對多映射組成的集合;所述密文分詞分布代理模塊(510)負責將密文分詞分布到索引服務器上; 所述密文檢索模塊¢00),包括有檢索語句提交單元(610)和檢索服務器¢20);所述檢索服務器,用于將擴展密文分詞集以廣播方式分發(fā)到所述密文索引模塊(500)的各索引服務器,接收并處理各索引服務器返回 的結果,然后將得到的無序文檔編號集發(fā)送給檢索結果處理模塊(700); 所述檢索結果處理模塊(700),包括有檢索結果排序單元(720)和結果顯示單元(730);所述檢索結果排序單元(720),用于對無序的文檔編號集進行排序;所述結果顯示單元(730)包括文檔概要顯示和文檔顯示。
3.根據(jù)權利要求
I或2所述的密文全文檢索系統(tǒng),其特征在于,該系統(tǒng)采用的是密文動態(tài)后繼樹索引結構; 所述密文動態(tài)后繼樹索引是一個森林,所述森林由子樹組成;每一棵子樹的結構包括有樹根的密文,樹葉的密文,以及,由偽文檔編號、樹葉位置、樹葉關聯(lián)位置、樹葉變種組成的樹葉信息集的密文; 所述樹根,用于指代位于樹根的分詞; 所述樹葉,即樹根的后繼,用于指代位于樹葉的分詞; 所述偽文檔編號,是偽文檔編號組的一個元素; 所述樹葉位置,用于指代當前樹葉在文檔中的位置; 所述樹葉關聯(lián)位置,用于指代指向當前樹葉的后繼的分詞的指針; 所述樹葉變種,用于指代代替原樹葉的一串字符串; 所述密文檢索模塊利用樹葉位置和樹葉關聯(lián)位置來記錄待匹配子串的位置關系。
4.根據(jù)權利要求
I或2所述的密文全文檢索系統(tǒng),其特征在于,本系統(tǒng)是一個基于安全覆蓋網(wǎng)的密文對等全文檢索系統(tǒng),包括有集中式檢索服務器和對等節(jié)點; 所述安全覆蓋網(wǎng),是將對等網(wǎng)絡中的對等節(jié)點按照其安全級支配關系組織起來形成的網(wǎng)絡;在該安全覆蓋網(wǎng)中,安全級高的節(jié)點直接或間接支配安全級低的節(jié)點,同時,數(shù)據(jù)由安全級高的節(jié)點流向安全級受其支配的節(jié)點。
5.密文全文創(chuàng)建方法,其特征在于包括以下步驟 (1)將用戶提交的涉密原始文本文檔原文轉化為純文本,提取原文本文件中的主題、正文及其他附加屬性,并形成文檔概要; (2)對原文本文件中的主題、正文、附加屬性進行分詞處理,并提取特征向量; (3)對步驟(I)中得到的純文本文檔、文檔概要分別加密; (4)把步驟(3)中得到的文檔密文分布存儲到相應的文檔密文庫,把步驟(3)中得到的文檔概要密文分布存儲到相應的文檔概要密文庫; (5)對步驟(2)中得到的分詞、特征向量分別加密; (6)把步驟(5)中得到的特征向量密文存儲到特征向量密文庫; (7)對步驟(5)中得到的密文分詞分發(fā)到各索引服務器; (8)各索引服務器根據(jù)步驟(7)中的密文分詞檢索得到相應的分詞位置密文; (9)對步驟(8)中得到的分詞位置密文進行解密; (10)將步驟(9)中解密后的分詞位置傳回相應索引服務器; (11)索引服務器根據(jù)分詞位置創(chuàng)建索引; (12)對步驟(11)中得到的索引進行加密; (13)將步驟(12)中得到的密文索引存儲到相應的密文索引庫。
6.基于動態(tài)后繼樹索引結構的密文全文創(chuàng)建方法,采用了如權利要求
5的密文全文創(chuàng)建方法,其特征在于, I)所述步驟(5)中的分詞采用如下加密方法 a、根據(jù)分詞分組加密信息表對分詞明文進行分組,得到該分詞的密鑰生成參數(shù)和加密算法編號,并發(fā)送給密鑰管理器; b、密鑰管理器根據(jù)密鑰生成參數(shù)計算分詞分組密鑰,同時根據(jù)加密算法編號到加密算法庫中提取加密算法; C、根據(jù)所得到的分詞分組密鑰和加密算法,對分詞進行加密; 2)所述步驟(11)中的密文索引創(chuàng)建采用如下方法 a、對每個密文分詞,根據(jù)文檔編號信息表隨機選取一個偽文檔編號替換原密文分詞攜帶的文檔編號; b、用密文分詞的前驅到密文索引庫中查找樹根,用密文分詞本身查找樹葉,獲取對應的樹葉信息集; C、解密步驟b中得到的樹葉信息集,將密文分詞的位置信息插入到相應的樹葉信息集中; d、若插入后的樹葉信息集長度超過限定值,則對樹葉信息集進行劃分,當遇到終結符表示全文已經(jīng)處理完; e、將該索引中未加密的樹葉信息集進行加密; 上述步驟d、e中的樹葉信息集劃分及加密方法為 a)若樹葉信息集的長度大于樹葉信息集平均長度,則將其劃分為若干個無交集子集,各子集長度在系統(tǒng)設定的范圍內; b)為除首個樹葉信息集子集之外的各子集分別隨機生成樹葉變種,使得每個子集都對應一個樹葉變種或一片樹葉; c)根據(jù)密文分詞,在分詞位置加密信息表中獲取密鑰生成參數(shù)和加密算法編號,并傳送給密鑰管理器; d)密鑰管理器根據(jù)密鑰生成參數(shù)計算得到分詞位置密鑰,同時根據(jù)加密算法編號在加密算法庫中提取加密算法; e)根據(jù)d)中得到的分詞位置加密算法,以及分詞位置密鑰對樹葉信息集明文進行加LU O
7.與權利要求
5的密文全文創(chuàng)建方法相適應的密文全文檢索方法,其特征在于包括以下步驟 (1)對用戶提交的檢索詞/串進行分詞并作查詢擴展; (2)對步驟(I)中得到的擴展分詞集進行加密; (3)把步驟(2)中得到的擴展密文分詞集以廣播方式分發(fā)到各索引服務器; (4)各索引服務器進行檢索; (5)系統(tǒng)收集各索引服務器返回的文檔編號集; (6)系統(tǒng)根據(jù)步驟(5)中得到的文檔編號集讀取相應文檔特征向量密文; (7)解密步驟(6)中得到的特征向量密文; (8)系統(tǒng)利用步驟(7)中得到的特征向量對文檔編號集進行排序; (9)系統(tǒng)根據(jù)步驟(8)中得到的有序的文檔編號集讀取相應文檔概要密文; (10)將文檔概要密文解密; (11)將解密后的文檔概要顯示給用戶; (12)根據(jù)用戶的選擇獲取相應的文檔密文; (13)對文檔密文進行解密; (14)將解密后的文檔顯示給用戶。
8.基于動態(tài)后繼樹索引結構的密文全文檢索方法,采用了如權利要求
7的密文全文檢索方法,其特征在于,所述步驟(4)中的檢索,其步驟如下 下文中,qsl,qs2, ···, qsi,…,qsn為檢索詞,η為檢索詞/串的分詞個數(shù); 1)判斷檢索詞/串的分詞個數(shù)如果η=1,則轉入2);如果η = 2,則轉入3);否則轉入4); 2)判斷樹根表是否存在該分詞;若存在,則檢索命中結果集為該分詞的樹葉表中所有樹葉的樹葉信息集的樹葉位置的集合;檢索結束; 3)判斷樹根表是否存在qsl;判斷qsl的樹葉表是否存在qs2 ;若qsl、qs2都存在,則檢索命中結果集為qs2的樹葉信息集的樹葉位置的集合;檢索結束; 4)判斷樹根表是否存在qsl,如果存在,判斷qsl的樹葉表是否存在qs2; 5)若qsl、qs2都存在,則獲取qs2的樹葉信息集的關聯(lián)位置的集合,記為Urpi; 6)以3< j < η進行循環(huán),判斷qsi的樹葉表是否存在qsj ;若存在,則獲取qsj的樹葉信息集的樹葉位置的集合,記為Spj ;計算spj與Urpi的交集,即qsj的樹葉位置子集,記為Uspj ;獲取qsj的樹葉信息集的關聯(lián)位置的子集合,記為Urpj ;最多循環(huán)n_2次便得到初步結果Urpj ; 7)檢索命中結果集為Urpj中所有樹葉信息集的樹葉位置的集合;檢索結束。
專利摘要
本發(fā)明公開了一種密文全文檢索系統(tǒng),包括有原始文本處理模塊、分詞模塊、加密模塊、文檔密文存儲模塊、密文索引模塊、密文檢索模塊、檢索結果處理模塊、系統(tǒng)管理模塊。該系統(tǒng)由于采用了密文動態(tài)后繼樹索引結構、分詞分組方法、文檔局部級的密文動態(tài)后繼樹索引更新方法,可實現(xiàn)安全高效的索引創(chuàng)建、索引的動態(tài)更新以及密文狀態(tài)下的全文檢索和子串查詢;該系統(tǒng)還可在P2P網(wǎng)絡中實現(xiàn)安全覆蓋網(wǎng)的對等全文檢索,并在此基礎上引入基于對等網(wǎng)絡樞紐節(jié)點的索引文件副本復制機制。此外,本發(fā)明密文全文檢索系統(tǒng)可擴展性好,解決了海量數(shù)據(jù)索引文件的分布存儲和檢索問題,并且不增加網(wǎng)絡帶寬占用,網(wǎng)絡資源利用率高。
文檔編號G06F17/30GKCN101859323SQ201010187384
公開日2013年1月16日 申請日期2010年5月31日
發(fā)明者霍林, 黃保華, 胡和平, 覃海生, 黃俊文, 王力, 潘英花, 李瑞軒, 李德順, 譚穎璐, 邢霄, 鄒先澤 申請人:廣西大學導出引文BiBTeX, EndNote, RefMan專利引用 (3),