基于可信Web服務的信息查詢技術的研究
在Internet網絡中,對Web站點中的信息進行查詢是非常頻繁的操作,但面對海量的網絡信息我們的查詢存在著很多安全隱患和查詢效率低下的煩惱。導致查詢效率低下的原因主要有兩個:一是Internet網絡中的信息浩瀚無邊且與日俱增,Web信息沒有統一的模式結構。二是Internet網絡中目前還沒有非常完善的查詢技術來有效的幫助用戶查詢符合用戶需求的信息。查詢效率的高低與查詢算法設計的好壞是密切相關的。本文主要討論:可信Web服務,Web服務的安全性和Web查詢技術。
由于互聯網的開放性和不完善性,目前的互聯網中存在著很多不安全的因素,而Web服務的靈活性在一定程度上也潛在著安全缺陷,所以確保Web服務的安全性是一個非常重要的問題,這就要求能夠采取各種有效措施來抵御各種攻擊。應用安全模型、安全機制等可以確保Web服務的完整性、私密性和安全性。
1.1 Web服務的安全通信
Web服務是采用SOAP協議標準來交換消息的,提高Web服務的可信性也就是提高SOAP消息的可信度。我們可以對SOAP消息的傳送的三步驟:信息序列化?傳送?反序列化進行改進:
1)服務請求者向服務提供者發送ClientHello消息;
2)服務提供者對收到ClientHello消息進行簽名,再發送給服務請求者;
3)服務請求者對服務提供者進行身份認證,若通過,則生成會話密鑰和進一步的請求,對請求消息進行安全處理,并連同自己的證書一起發送給服務提供者。
4)服務提供者收到請求消息后,首先對服務請求者進行驗證,若通過,則建立會話,完成對請求消息的后續處理,并對處理結果進行MAC計算;
5)服務請求者收到響應消息后,進行簽名、加密等處理,并使用會話密鑰對處理結果進行MAC計算;
6)服務提供者收到上一步的請求消息后,驗證會話的有效性,若通過,則驗證MAC的有效性,并對請求消息進行后續處理,否則,若會話標識符無效或MAC驗證無效,則向服務請求者發出錯誤消息。
這一會話過程是有時間限制的,若會話未超時,則重復步驟5、6,否則重復步驟1~6。若通信發生較嚴重的錯誤時,則會導致會話終止,通信失敗,發送錯誤信息。
1.2 Web服務的安全機制
1.2.1 加密機制
目前用于網絡通信安全的密碼技術主要有對稱加密、非對稱加密。
對稱加密:發送者和接收者都使用相同的密鑰對數據進行加密和解密,一般用于加密大量數據。對稱密鑰技術的常用算法有DES、IDEA、RC2、RC4、SKIPJACK。對稱加密算法的加密處理簡單,加密解密速度快。但密鑰管理困難。
非對稱加密:發送者和接收者使用不同的密鑰對數據進行加密和解密。非對稱密鑰技術的典型算法有RSA、DSA。非對稱加密算法解決了密鑰管理的困難,密鑰是事先分配的無需在通信過程中傳輸,所以安全性很高,且具有很高的加密強度,但非對稱加密系統的加密和解密速度慢。
1.2.2 安全認證機制
為了確保信息的安全、真實、可靠,我們必須有一種機制來驗證信息傳遞中各方的真實身份,安全認證包括安全管理、加密處理、PKI和認證管理等問題。目前常用的安全認證機制有:數字摘要、數字時間戳、數字簽名、數字證書等。
1.2.3 訪問控制策略
訪問控制是維護網絡系統安全、保護網絡資源的最重要的核心策略之一,有效的訪問控制可以保證網絡資源不被非法使用和非法訪問。目前常用的訪問控制策略有:入網訪問控制、操作權限控制、目錄安全控制。
信息查詢一般都是借助搜索引擎頁面來實現,即輸入關鍵詞利用搜索引擎在索引數據庫中進行相關信息的查找,并將結果返回給用戶。除了根據需要選擇不同的搜索引擎之外,我們可以根據不同的查詢需求采用不同的查詢技術來提高查詢效率。
2.1 盲目查詢
盲目查詢又叫做無信息查詢,即按照預定的控制策略實行查詢,在查詢過程中獲取的中間信息不用來改進控制策略。盲目查詢方法有寬度優先、深度優先、代價優先、混合、向前、向后、雙向等等。
2.2 啟發式查詢
把求解問題的具體領域的知識加入查詢算法中,控制整個查詢過程,以提高算法效率的查詢方法叫做啟發式查詢。啟發式查詢過程中最重要的事件就是尋找和決定要擴展的下一個節點,用來估算節點希望程度的量度,叫做估價函數。一個節點的“希望度”在狀態空間問題中,可以估算目標節點到此節點的距離或者解答路徑包括被估價過的節點,并計算全條路徑的長度或難度。每個不同的衡量標準只能考慮該問題中這個節點的某些決定性特性,所以我們可以對給定節點與目標節點進行比較,以決定相關特性。
2.3 多元搜索查詢技術
網絡中信息的種類繁復,單一的搜索工具根本無法滿足用戶的需求。多元搜索引擎是一種集合式的搜索引擎,它可以將多個搜索引擎集成在一起,并提供一個統一的檢索界面,且能將一個檢索提問同時發送給多個搜索引擎,達到同時檢索多個數據庫,再經過聚合、去除重復項之后輸出檢索結果。多元搜索引擎可以大大節省檢索時間。多元搜索引擎適合查詢一些較模糊的提問,或就某一課題的網絡資源進行快速調查、摸底、綜覽。
2.4 常用的查詢算法
實現搜索引擎最關鍵的就是搜索算法的實現,PageRank和HITS都是典型的網絡搜索查詢算法,我們可以把這兩種算法應用到可信Web服務的查詢技術中來。
2.4.1 PageRank算法
PageRank算法主要基于重要性平均分配的思想進行設計的。
假定Nu是頁面u的出度,Rank(u)是u的重要性。PageRank假設u通過指向v的直接鏈接將一部分重要性(量化為Rank(u)/Nu)傳遞給了v頁面。同樣,v頁面的重要性是所有直接鏈接到v的頁面累積起來的。(Ranki(u)÷Nu)
注:Bv代表直接對v鏈接的所有頁面的集合。
基于這個思想,通過迭代算法,我們可以得到所有頁面的重要性。
2.4.2 HITS算法
HITS(Hyperlink-Induced Topic Search,超鏈接誘導的主題搜索)算法是Kleinberg在90年代末提出的基于鏈接分析的網頁排名算法。
HITS算法的基本思想:HITS由用戶的檢索主題得到一個初始結果,構成一個算法的根集。設置非負權威權重ap和非負中心權 重h與數據庫基本集中的每一個頁面p相關,將所有的a和h值都初始化為相同的常數。權重規范處理,維護所有權重的平方和為1。權威與中心的權重可按如下公式更新:
第一個公式表明,如果一個頁面被很多好的中心所指向,則其權威權重應當增加(即,它為所有指向它的頁面的當前中心權重之和)。第二個公式表明,如果一個頁面指向許多好的權威頁面,則其中心權重應當增加(即,它為該頁面指向的所有頁面的權威權重之和)。
我們用{1,2,…,n}對頁面編號,定義它們的鄰接矩陣A為n×n矩陣,如果頁面i鏈接到頁面就j,則A(i,j)為1,否則為0。類似地,定義權威權重向量a=(a1,a2,…,an),和中心權重向量h=(h1,h2,…hn)。可得
h=A·a a=AT·h
注:AT是A的轉置矩陣。對兩公式展開k次,就有h=A·a=AATh=(AAT)h=(AAT)2h=…=(AAT)kh a=AT·h=ATAa=(ATA) a=(ATA)2a=…=(ATA)
根據線性代數,當規范化后,這兩個迭代序列分別收斂于主本真向量AAT和ATA,這就證明了權威和中心權重是所收集的鏈接頁面的固有特征,并且不受初始權重設置的影響。而在實際應用中HITS算法的查詢也具有非常好的搜索結果。
2.4.3 查詢算法的改進
PageRank算法和HITS算法雖然都是鏈接分析算法,但都存在著不足。PageRank算法會忽略了網頁的內容,他的authority值只是相對于某個檢索主題的權重,而HITS算法存在著“主題漂移”的現象。下面對兩種算法進行改進,以便解決他們的不足。
首先利用HITS的方法構造出算法的基本集,用戶的查詢請求來了之后,我們首先用一個現有的商業搜索引擎進行查詢,從得到的查詢結果中取出一定量的信息作為算法的根集,將該根集進行擴充,將根集中的所有頁面的出度和入度網頁都補充進來,形成新的基本集。然后再利用PageRank算法。
PageRank算法原先是對萬維網的整體分析,可以對用戶的要求進行快速的響應。而HITS算法是對萬維網的部分進行分析,依賴于用戶查詢,實時性差。改進后的算法主要是通過把HITS生成查詢基本集的方法應用到PageRank算法中,這樣就彌補了PageR? ank算法中頁面內容無關性的缺點。新算法中引用了PageRank算法中的排序機制,也笑容削弱了HITS算法中的“主題漂移”的缺點。
利用Internet進行信息查詢已經成為人們生活、工作、娛樂中必不可少的一部分。目前我們用得比較多的還是關鍵詞查詢,隨著XML語言的廣泛應用和Web搜索技術的發展,專業、快捷、有效的查詢技術將越來越被人們所研究和使用。
[1]Papazoglou M P.Web Services Principles and Technology[M].北京:機械工業出版社,2010.
[2]Han Jiawei,Kamber M.數據挖掘概念與技術[M].北京:機械工業出版社.2007
[3]孟小峰.Web數據管理研究綜述[J].計算機研究與發展,2001(4).
[4]顧寧,劉家茂,柴曉路.Web Services原理與研發實踐[M].北京:機械工業出版社,2006.
