周 潔,任江春,王志英,程 勇,梅松竹
(國防科學(xué)技術(shù)大學(xué)計算機學(xué)院,湖南 長沙 410073)
一種基于Petri網(wǎng)的Web服務(wù)組合安全性動態(tài)檢測技術(shù)*
周 潔,任江春,王志英,程 勇,梅松竹
(國防科學(xué)技術(shù)大學(xué)計算機學(xué)院,湖南 長沙 410073)
Web服務(wù)組合安全性檢測對提高Web服務(wù)組合在復(fù)雜網(wǎng)絡(luò)環(huán)境下的安全性具有重要意義。針對Web服務(wù)組合安全檢測存在的問題,提出了一種Web服務(wù)組合安全性動態(tài)檢測框架,并對其中的服務(wù)組合流程建模技術(shù)、安全模型以及安全檢測算法等關(guān)鍵技術(shù)進行了詳細分析,最后通過實例進一步說明該框架能夠?qū)崿F(xiàn)安全性檢測的基本功能。
Web服務(wù)組合;安全檢測;動態(tài)檢測算法
隨著信息技術(shù)的快速發(fā)展,越來越多的應(yīng)用開始通過Web服務(wù)[1]的形式提供,特別是隨著面向服務(wù)計算SOC(Service Oriented Computing)[2]技術(shù)的日益成熟,Web服務(wù)已成為網(wǎng)絡(luò)環(huán)境下一種最為重要的計算資源之一。然而,由于單個Web服務(wù)的功能有限,為實現(xiàn)更強大的服務(wù)功能,需將Web服務(wù)組合起來[3]。在Web服務(wù)組合過程中,必然會出現(xiàn)Web服務(wù)之間的交互。盡管大多數(shù)的交互是用戶期望的,但是由于交互的復(fù)雜和多樣,如目標(biāo)沖突、資源競爭、違背假設(shè)、配置和權(quán)限、信息隱藏、調(diào)用次序錯誤、策略沖突等[4]發(fā)生的幾率逐漸增加,嚴(yán)重影響了Web服務(wù)組合的正常行為。同時,隨著Web服務(wù)數(shù)量和Web服務(wù)組合方式的不斷增長,可能產(chǎn)生的非預(yù)期交互問題也顯著增長,因而帶來的服務(wù)組合安全性問題也更加突出[5]。要解決這個問題,迫切需要研究Web服務(wù)組合安全檢測的關(guān)鍵技術(shù),本文在分析國內(nèi)外相關(guān)最新研究成果的基礎(chǔ)上,研究面向Web服務(wù)組合的安全性動態(tài)檢測框架與模型,并研究支持安全檢測的服務(wù)組合流程建模技術(shù)和基于安全規(guī)則的服務(wù)組合安全檢測算法。
分析目前研究現(xiàn)狀可以發(fā)現(xiàn),Web服務(wù)組合領(lǐng)域安全檢測研究主要有以下兩個特點:
(1)采用分類分析的研究方式[4,6~8]。首先對Web服務(wù)組合安全問題依據(jù)產(chǎn)生原因等進行分類和分析,然后針對其中某類或某幾類安全問題的現(xiàn)象研究檢測或解決的具體方法;
(2)采用靜態(tài)形式化的研究方法[9~12]。主要是將BPEL(Business Process Execution Language)描述的Web服務(wù)組合過程轉(zhuǎn)化為形式化模型,再用模型檢測工具對形式化模型進行檢測,進而驗證組合服務(wù)或者協(xié)議的安全性和一致性。
Figure 1 Web services composition security dynamic detecting framework圖1 Web服務(wù)組合安全性動態(tài)檢測框架
這兩個特點使得Web服務(wù)組合領(lǐng)域安全檢測研究工作在多個方面存在明顯不足:
(1)基于分類研究方式形成的針對不同安全問題的檢測方法,在描述格式和分析手段等方面存在很大的區(qū)別,具體的某種服務(wù)組合安全檢測方法只能解決一種或幾種Web服務(wù)組合安全問題,難以擴展解決其它種類的安全問題;這些基于分類研究方式形成的不同檢測方法難以采用統(tǒng)一的方式處理所有的服務(wù)組合安全問題,在整合過程中,將產(chǎn)生新的安全問題和兼容性問題。
(2)靜態(tài)形式化方法適合已知Web服務(wù)邏輯的檢測,而在實際的Web服務(wù)組合中,很難在不破壞各Web服務(wù)私密性的前提下獲取其服務(wù)邏輯信息;隨著Web服務(wù)的快速發(fā)展,交互問題數(shù)量倍數(shù)于服務(wù)數(shù)量的增長,使用靜態(tài)形式化方法時需面對狀態(tài)空間爆炸的問題,這一問題仍未得到全面解決;同時,使用靜態(tài)形式化方法還需具有較高的數(shù)學(xué)基礎(chǔ)和數(shù)學(xué)分析能力,這些都限制了靜態(tài)形式化方法的應(yīng)用范圍;另一方面,靜態(tài)形式化方法只能應(yīng)用于服務(wù)組合的設(shè)計階段,無法檢測服務(wù)組合運行階段產(chǎn)生的安全問題。
總之,由于Web服務(wù)的自身特性,以及分類研究、靜態(tài)形式化固有的局限性,這些方法都不適用于Web服務(wù)組合領(lǐng)域安全檢測的未來研究發(fā)展?;谝陨戏治?,Web服務(wù)組合安全檢測的未來研究應(yīng)側(cè)重于研究一種能夠全面動態(tài)地檢測服務(wù)組合安全問題的方法,該方法采用能夠克服分類方法的局限性的統(tǒng)一檢測方式和能夠克服靜態(tài)形式化方法缺陷的動態(tài)檢測方式。
針對傳統(tǒng)Web服務(wù)組合安全性檢測的不足,本文借鑒SOA的思想,結(jié)合Web服務(wù)組合流程模型,提出了面向Web服務(wù)組合安全性動態(tài)檢測框架。該框架主要由消息截獲器、規(guī)約管理器、模型生成器、檢測管理器和安全檢測器五大部分組成,如圖1所示。
圖1檢測框架中的五大部分描述如下:
(1)消息截獲器。
消息截獲器作為整個系統(tǒng)的前端,負責(zé)實時截獲服務(wù)組合流程中交互的SOAP消息,并從中提取輸入或輸出數(shù)據(jù)發(fā)送給檢測管理器,用于生成服務(wù)運行時狀態(tài)。待安全檢測完成后,如果沒有任何安全性問題,被截獲的SOAP消息將被原路返回。
(2)規(guī)約管理器。
規(guī)約管理器負責(zé)讀取OWL-S服務(wù)描述文檔中的交互規(guī)約說明,并將它們轉(zhuǎn)換成適當(dāng)?shù)膬?nèi)部格式;同時,根據(jù)檢測管理器的控制信息,傳送與實時截獲SOAP消息數(shù)據(jù)對應(yīng)的規(guī)約信息到模型生成器。
(3)模型生成器。
模型生成器負責(zé)讀取Petri網(wǎng)映射規(guī)則庫中的映射規(guī)則,同時根據(jù)規(guī)約管理器產(chǎn)生的規(guī)約信息,結(jié)合服務(wù)組合的模型轉(zhuǎn)換方式,運用Petri網(wǎng)模型對服務(wù)組合進行建模(具體建模技術(shù)將在4.1節(jié)服務(wù)組合流程建模關(guān)鍵技術(shù)中進行詳細描述),最后傳送對應(yīng)的Petri網(wǎng)模型到檢測管理器。
(4)檢測管理器。
檢測管理器主要用于控制規(guī)約管理器和模型生成器,產(chǎn)生相關(guān)的用于安全性檢測的文檔規(guī)約信息和Petri網(wǎng)模型,并傳送模型及交互行為信息到安全檢測器進行安全檢測。若檢測到異常,發(fā)送控制信息中止服務(wù)組合流程,并向用戶發(fā)送檢測報告;否則,檢測管理器控制服務(wù)組合繼續(xù)執(zhí)行。
另外,檢測管理器中還需要用到交互行為庫和過程記錄器。交互行為庫用來儲存所有已知類型的服務(wù)交互安全性問題,并在檢測到新的類型后不斷更新。過程記錄器則記錄檢測過程,通過分析記錄信息,專家可以檢查出檢測過程中出現(xiàn)的錯誤,從而進一步完善整個程序。
(5)安全檢測器。
安全檢測器負責(zé)接收檢測管理器傳送來的交互行為信息和Petri網(wǎng)模型,自動生成服務(wù)組合安全模型,通過安全檢測算法,檢測在當(dāng)前狀態(tài)下是否存在安全性問題,并將檢測結(jié)果發(fā)送給檢測管理器;同時,提供一個維護知識庫規(guī)則的管理接口來控制和調(diào)整檢測效率。
在本文中,基于上述檢測框架,可實現(xiàn)對Web服務(wù)組合安全性動態(tài)檢測。下一節(jié)將詳細介紹基于該框架實現(xiàn)Web服務(wù)組合安全性動態(tài)檢測的關(guān)鍵技術(shù)。
4.1 支持安全檢測的服務(wù)組合流程建模技術(shù)
本節(jié)主要對Web服務(wù)組合流程進行建模,首先對Petri網(wǎng)和Web服務(wù)組合流程規(guī)范OWL-S進行簡要介紹,在此基礎(chǔ)上給出OWL-S基本結(jié)構(gòu)到Petri網(wǎng)的映射,并詳細說明將OWL-S描述的服務(wù)組合規(guī)約映射為服務(wù)組合交互Petri網(wǎng)模型的建模技術(shù)。
Web服務(wù)組合規(guī)范OWL-S用流程(Process)來詳細地描述Web服務(wù)之間的交互。Process模型中有三種流程:原子流程(Atomic Process)、簡單流程(Simple Process)和組合流程(Composite Process)。其中,原子流程可以直接調(diào)用,單步執(zhí)行;簡單流程不可直接調(diào)用,但作為一種抽象概念;組合流程可以由原子流程或簡單流程通過一些控制結(jié)構(gòu)(Control Construct)組合而成??刂平Y(jié)構(gòu)有:Sequence、Split、Split-Join、Choice、Any-Order、If-Then-Else、Repeat-Until和Repeat-While。下面分別介紹這八類控制結(jié)構(gòu)與Petri網(wǎng)結(jié)構(gòu)的映射規(guī)則,如表1所示。
Table 1 Rules mapping control structureof OWL-S to Petri model表1 OWL-S控制結(jié)構(gòu)的Petri網(wǎng)映射規(guī)則
Web服務(wù)之間存在著大量的嵌套,同時Web服務(wù)組合所封裝的業(yè)務(wù)邏輯也越來越復(fù)雜,這使得Web服務(wù)組合流程的規(guī)模越來越大,復(fù)雜度也越來越高。因此,為了使Web服務(wù)組合流程能夠完整地轉(zhuǎn)換為一個Petri網(wǎng)模型,我們需要一套完善的方法來指導(dǎo)該轉(zhuǎn)換過程,否則有可能出現(xiàn)元素丟失,進而導(dǎo)致后續(xù)的安全檢測出現(xiàn)錯誤。通過服務(wù)組合流程的Petri網(wǎng)映射規(guī)則,可以把服務(wù)組合流程中的各個結(jié)構(gòu)化活動用Petri網(wǎng)組件表示,進而得到整個Web服務(wù)組合流程的Petri網(wǎng)模型。具體的轉(zhuǎn)換步驟如下:
Step1將標(biāo)簽〈process〉和〈/process〉分別用Start和Finish庫所表示,并賦給Start庫所初始化token。
Step2分析Web服務(wù)組合規(guī)范OWL-S的process文檔。對process文檔的分析主要由以下兩部分組成:
Step2.1process文檔結(jié)構(gòu)分析。將文檔中描述Web服務(wù)組合流程的控制結(jié)構(gòu)(如sequence、split、choice等)識別出來,理解Web服務(wù)組合流程的設(shè)計模式。
Step2.2process文檔結(jié)構(gòu)分離,根據(jù)Web服務(wù)組合模式和process文檔中控制結(jié)構(gòu)的對應(yīng)關(guān)系,將process文檔拆分成以process基本結(jié)構(gòu)為單位的元文件,分離的元文件可以形成一棵文檔結(jié)構(gòu)樹。
Step3根據(jù)生成的文檔結(jié)構(gòu)樹,對當(dāng)前層的所有直接子層按照表1所示的服務(wù)組合流程控制結(jié)構(gòu)的Petri網(wǎng)映射規(guī)則進行建模。
Step4重復(fù)Step 3,直到所有的控制結(jié)構(gòu)都被表示出來。
Step5將子層模型代入其上層模型,得到完整的Web服務(wù)組合流程的Petri網(wǎng)模型。
4.2 支持安全檢測的服務(wù)組合安全模型
服務(wù)組合安全規(guī)則的制定關(guān)系到Web服務(wù)組合的安全性,本節(jié)將對服務(wù)組合安全規(guī)則進行定義,通過擴展服務(wù)組合的Petri網(wǎng)模型,建立服務(wù)組合的安全模型,動態(tài)檢測交互行為是否滿足安全規(guī)則,一旦發(fā)現(xiàn)違反,則說明服務(wù)組合安全性出現(xiàn)異常。
本節(jié)首先對服務(wù)組合的安全規(guī)則進行詳細闡述,在此基礎(chǔ)上,設(shè)計了服務(wù)組合安全模型。
定義1服務(wù)組合安全規(guī)則SecurityRule元模型包含S、P、State、Occur、Causality、History六個屬性,其中各屬性含義如下:
(1)S為服務(wù)。
(2)P為服務(wù)中的操作。
(3)State為服務(wù)狀態(tài)。
(4)Occur表示操作是否發(fā)生,Occur={T,N,n},T、N、n分別代表操作發(fā)生、不發(fā)生和發(fā)生限制次數(shù)。
(5)Causality表示操作的因果關(guān)系,Causality={Pre,Seq},Pre、Seq都是表示操作因果關(guān)系的函數(shù):
?p1,p2∈P,Pre:p1→p2,p2是p1的前提;
?p1,p2∈P,Sqe:p1→p2,p2是p1的結(jié)果。
其中,p1和p2不必相繼發(fā)生,但是一個發(fā)生,另一個必須發(fā)生。
(6)History表示操作的歷史關(guān)系,History={After,Before,BetweenAnd,AfterUntil},After、Before、BetweenAnd、AfterUntil都是表述操作歷史關(guān)系的函數(shù)。
?p1,p2∈P,After:p1→p2,p2在p1之后發(fā)生;
?p1,p2∈P,Before:p1→p2,p2在p1之前發(fā)生;
?p1,p2∈P,BetweenAnd:p2×p3→p1,p1在p2和p3之間發(fā)生;
?p1,p2∈P,AfterUntil:p2×p3→p1,p1在p2和p3之間發(fā)生,與BetweenAnd函數(shù)的不同是p3可以不發(fā)生。
安全規(guī)則可通過學(xué)習(xí)的過程逐漸添加,首先將基本的三類安全規(guī)則定義如下:
定義2(發(fā)生規(guī)則) 服務(wù)組合發(fā)生規(guī)則OccurRule元模型包含S、P、State、Occur四個屬性,該規(guī)則定義了服務(wù)S中的操作P在狀態(tài)State下是否發(fā)生。
定義3(因果規(guī)則) 服務(wù)組合因果規(guī)則CausalRule元模型包含S、P、State、Causality四個屬性,該規(guī)則定義了服務(wù)S中的操作P在狀態(tài)State下與其他操作的因果關(guān)系。
定義4(歷史規(guī)則) 服務(wù)組合歷史規(guī)則HistoricRule元模型包含S,P,State,History四個屬性,該規(guī)則定義了服務(wù)S中的操作P在狀態(tài)State下與其他操作的歷史關(guān)系。
現(xiàn)在對模型PN進行擴展,通過添加安全規(guī)則SecurityRule,得到服務(wù)組合安全模型,定義如下:
定義5五元組SPN=(P,T;F,M0,r)被稱為服務(wù)組合安全模型,如果:
(1)PN=(P,T;F,M0)是刻畫服務(wù)組合的Petri網(wǎng)模型;
(2)r∈SecurityRule是檢測服務(wù)組合安全性的安全規(guī)則。
定義6設(shè)服務(wù)組合安全模型SPN=(P,T;F,M0,r),如果SPN是安全的,那么SPN滿足如下屬性:
(1) PN是可用的;
(2)?t∈T,Satisfy(t,r)。
定理1令服務(wù)組合安全模型SPN=(P,T;F,M0,r),那么是安全的,SPN當(dāng)且僅當(dāng)服務(wù)組合是安全的。
證明如果SPN是安全的,那么由定義6可知,Petri網(wǎng)模型PN是可用的。同時,SPN模型的變遷都滿足安全規(guī)則,則在實際服務(wù)組合中操作都滿足安全定義,故服務(wù)組合是安全的。
反之同理,故得證!
□
上述定理分析了服務(wù)組合安全模型SPN與服務(wù)組合安全性的對應(yīng)關(guān)系?;诙ɡ?,可以通過對SPN的安全性分析實現(xiàn)對Web服務(wù)組合的安全檢測。
Web服務(wù)之間的交互行為引起服務(wù)組合實際執(zhí)行的狀態(tài)變化,服務(wù)組合安全模型中的變遷也反映了服務(wù)組合分析得到的狀態(tài)變化,對交互行為和模型變遷關(guān)系定義如下。
定義7Web服務(wù)之間的交互行為與服務(wù)組合安全模型的變遷反映了相同的狀態(tài)變化。
上述交互行為和模型變遷的關(guān)系表明,服務(wù)組合交互行為與服務(wù)組合安全模型SPN中的變遷一一映射。依據(jù)這種映射關(guān)系,比對捕獲到的服務(wù)交互行為序列與對應(yīng)的安全模型的安全規(guī)則一致性,一旦出現(xiàn)不一致,則當(dāng)前操作所屬的服務(wù)執(zhí)行異常。
4.3 基于安全規(guī)則的服務(wù)組合安全檢測算法
Web服務(wù)組合安全性動態(tài)檢測是以服務(wù)組合安全模型SPN為基礎(chǔ)的。依據(jù)4.2節(jié)中對服務(wù)組合安全模型SPN的分析,結(jié)合交互行為與安全模型中變遷發(fā)生序列一一映射關(guān)系,通過檢測實時捕獲的交互行為序列是否匹配SPN模型中安全規(guī)則,實現(xiàn)對Web服務(wù)組合的安全性動態(tài)檢測,其基本思路如下 :
假設(shè)在某組合服務(wù)中,實時截獲到服務(wù)組合的交互行為e,首先判斷出當(dāng)前處于模型SPN中的某一可達狀態(tài)M(M∈R(M0),R(M0)為模型SPN在初始標(biāo)識M0下的可達狀態(tài)集),若不存在這樣的狀態(tài)M,則違反安全規(guī)則中的發(fā)生規(guī)則。然后,依據(jù)可達圖構(gòu)造算法計算期望發(fā)生的后繼變遷序列集合{t1,t2,…}({t1,t2,…}?(M)′)。如果存在與e對應(yīng)的后繼變遷(?t∈{t1,t2,…}:e=t),則說明服務(wù)組合交互行為正常,若不存在這樣的變遷t,則違反安全規(guī)則中的因果規(guī)則。最后,計算當(dāng)前狀態(tài)M下發(fā)生變遷t的后繼狀態(tài)M′,判斷后繼狀態(tài)集合存在是否死鎖等邏輯錯誤,并判斷該后繼狀態(tài)是否滿足服務(wù)組合安全規(guī)則中的歷史規(guī)則,若滿足,則說明組合服務(wù)執(zhí)行狀態(tài)正常,同時將服務(wù)組合當(dāng)前的交互信息保存,并捕獲新的交互行為;否則,進入異常處理過程。服務(wù)組合安全檢測算法如下所示:
算法1Web服務(wù)組合安全檢測算法
輸入:服務(wù)組合安全模型SPN=(P,T;F,M0,r),交互行為序列EventList=(e0,e1,…);
輸出:檢測報告。
/*V=(M0),E=?。
End表示終止?fàn)顟B(tài)集合。
交互行為對應(yīng)狀態(tài)函數(shù)State:EventList→V。
交互行為對應(yīng)變遷函數(shù)trans:EventList→T。*/
L1procedureWHILE交互行為序列非空(EventList≠?)
L2 從EventList中取出第一個元素e(e∈EventList),并將e從EventList中移除;
L3 SWITCH (state(e))//計算交互行為對應(yīng)的狀態(tài)
L4 CASEM1(M1∈V)/*判斷當(dāng)前是否處于模型SPN中的某一可達狀態(tài)*/
L5 SWITCH (trans(e))/*計算交互行為對應(yīng)的變遷*/
L6 CASEt1(t1∈T)/*判斷是否存在與交互行為e對應(yīng)的后繼變遷*/
L7 判斷Satisfy(t1,r);
L8 若不滿足THROW Exception handler;/*違背安全規(guī)則,拋出異常*/
L9 計算在狀態(tài)M1下觸發(fā)變遷t2的后繼狀態(tài)M′,即M1[t1 L10 IF (V∪M′)∩End=?/*檢查是否存在終止?fàn)顟B(tài)*/ L11 判斷是否滿足?M*∈(V∪M′),?M″?(V∪M′),?t*∈T:M*[t* L12 若不滿足THROW Exception handler;/*存在邏輯錯誤,拋出異常*/ L13E=E∪〈M1,t1,M′〉; L14 若M′?V,V=V∪(M′); L15 BREAK; L16 CASEt2(t2∈T) L17 ……//與t2處理過程相同 L18 DEFAULT; L19 THROW Exception handler;/*不存在變遷與相互行為匹配,違背因果規(guī)則,拋出異常*/ L20 END SWITCH L21 CASEM2(M2∈V) L22 ……//與M1處理過程相同 L23 DEFAULT; L24 THROW Exception handler;/*不存在狀態(tài)與相互行為匹配,違背發(fā)生規(guī)則,拋出異常*/ L25 END SWITCH L26 生成完畢,返回G(SPN); L27 END WHILE L28 END procedure 假設(shè)Web服務(wù)組合交互行為序列有m個,每個交互行為對應(yīng)的Web服務(wù)組合狀態(tài)最多有n個,對應(yīng)的Web服務(wù)組合變遷最多有p個,則L1的WHILE結(jié)構(gòu)的時間復(fù)雜度為m,L3的SWITCH結(jié)構(gòu)的時間復(fù)雜度為n,L5的SWITCH結(jié)構(gòu)的時間復(fù)雜度為p。每個CASE項(如 L6~L15)結(jié)構(gòu)相同:L7~L8判斷變遷是否滿足安全規(guī)則時間復(fù)雜度為常數(shù);L9計算后繼狀態(tài)的時間復(fù)雜度為常數(shù);L10~L12 IF結(jié)構(gòu)時間復(fù)雜度為2n;L13~L14為常數(shù)。故該算法的時間復(fù)雜度為m×n×p×2n=O(mn2p),有效地克服了狀態(tài)空間的指數(shù)級增長。 Figure 3 Petri net model of cargo order management service composition圖3 貨物訂單處理服務(wù)組合Petri網(wǎng)模型表示 Figure 4 Distribution of Token in Place and the corresponding service state圖4 庫所Token的分布及對應(yīng)的服務(wù)狀態(tài) 對貨物訂單處理服務(wù)組合的例子進行測試,規(guī)約管理模塊自動讀取嵌入在該服務(wù)組合描述文檔中的交互規(guī)約說明,并將它們轉(zhuǎn)換成適當(dāng)?shù)膬?nèi)部格式,如圖2所示。 Figure 2 Document structure tree of cargo order management service composition 圖2 貨物訂單處理服務(wù)組合文檔結(jié)構(gòu)樹表示 模型生成模塊根據(jù)Petri網(wǎng)映射規(guī)則庫中的映射規(guī)則,結(jié)合Web服務(wù)組合的模型轉(zhuǎn)換方式,用Petri網(wǎng)模型對服務(wù)組合進行建模,如圖3所示。 安全檢測模塊能夠自動讀取模型信息,計算出各庫所Token的分布及對應(yīng)的服務(wù)狀態(tài),如圖4所示。 根據(jù)圖4中庫所Token的分布及對應(yīng)的服務(wù)狀態(tài),能夠針對SOAP消息描述的交互行為,計算出期望到達的狀態(tài)及期望發(fā)生的變遷,如圖5所示。 通過對服務(wù)組合模型狀態(tài)變化過程分析,得到的服務(wù)組合的安全規(guī)則,以PriceCalculation服務(wù)的C-PriceCalculation操作為例,安全規(guī)則如表2所示。 Web服務(wù)組合交互行為必須滿足模型分析得到的安全規(guī)則。假設(shè)在貨物訂單處理服務(wù)組合中,當(dāng)前實時截獲到的交互行為為C-PriceCalculation的SOAP消息,依據(jù)表2中的OccurRule規(guī)則,Price Calculation服務(wù)的C-Price Calculation操作要在D-Price Calculation和Shipper Decide兩個操作完成的狀態(tài)下才能發(fā)生,查找服務(wù)組合當(dāng)前是否處于這兩個操作完成的狀態(tài),若不是,則交互行為違背了安全模型刻畫的安全規(guī)則。若是則繼續(xù),假設(shè)捕獲到下一個SOAP消息為Inform,根據(jù)表2中的CausalRule規(guī)則,Inform操作是C-Price Calculation操作的后繼,則Inform操作是否可能發(fā)生,還需繼續(xù)判斷。再根據(jù)Order Manage服務(wù)的Inform操作安全規(guī)則庫中的OccurRule規(guī)則,如表3所示,發(fā)生規(guī)則描述了Inform操作要在C-Price Calculation和Arrange兩個操作完成的狀態(tài)下才能發(fā)生,若查找當(dāng)前服務(wù)組合Arrange操作還未發(fā)生,則說明交互行為違背了安全模型刻畫的安全規(guī)則,進入異常處理過程。 Figure 5 Reachable graph of cargo order management service composition圖5 貨物訂單處理服務(wù)組合可達圖 SecurityRuleSPStateOccurCausalityHistoryOccurRulePriceCalculationC?PriceCalculationD?PriceCalculationShipperDecideYCausalRulePriceCalculationC?PriceCalculationD?PriceCalculationShipperDecideSeq(D?PriceCalculation)CausalRulePriceCalculationC?PriceCalculationD?PriceCalculationShipperDecideSeq(ShipperDecide)CausalRulePriceCalculationC?PriceCalculationD?PriceCalculationShipperDecidePre(Inform)HistoricRulePriceCalculationC?PriceCalculationD?PriceCalculationShipperDecideBetweenAnd(Start,F(xiàn)inish) Table 3 Security rules in Inform operation part表3 Inform操作部分安全規(guī)則 由上述測試的結(jié)果來看,本文設(shè)計的服務(wù)組合安全性動態(tài)檢測框架能夠?qū)崿F(xiàn)安全性檢測的基本功能。 本文針對Web服務(wù)組合安全檢測問題,提出了一種Web服務(wù)組合安全性動態(tài)檢測框架,并對其中的支持安全檢測的服務(wù)組合流程建模技術(shù)、安全模型以及安全檢測算法進行了詳細分析。最后,通過測試表明,該框架能夠基本實現(xiàn)對服務(wù)組合安全性檢測的功能,滿足Web服務(wù)組合運行時安全檢測的要求。今后還需進一步擴展Petri網(wǎng)模型,并提高自動化測試效率。 [1] Alonso G,Casati F,Kuna H,et al.Web services:Concepts, architectures and applications[M]. NY:Springer-Verlag, 2004:24-25. [2] Papazoglou M P, Traverso P. Service-oriented computing:A research roadmap[M]. Germany:Dagstuhl Seminar, 2006:35-37. [3] Ni Wan-cheng, Liu Lian-chen, Wu Cheng. Survey on web services composition methods [J]. Computer Engineering, 2008,34(4):79-81.(in Chinese) [4] Weiss M, Esfandiari B, Luo Yun. Towards a classification of web service feature interactions[C]∥Proc of the 3rd International Conference on Service Oriented Computing, 2005:101-114. [5] Calder M, Kolberg M, Magill E H. Feature interaction:A critical review and considered forecast [J].The International Journal of Computer Networks,2003,41(1):115-141. [6] Weiss M, Esfandiari B. On feature interactions among web services[C]∥Proc of the 9th International Conference on Web Service(ICWS 2004), 2004:88-95. [7] Zheng Lu,Li Shi-yan.Web service conflict management[R]. NY:IBM Research Report, 2005:69-78. [8] Zhang Jian-yin, Yang Fang-chun, Su Sen. Detecting the web services feature interactions[C]∥Proc of WISE’06, 2006:169-174. [9] Turner K J. Formalising web services [C]∥Proc of Formal Techniques for Networked and Distributed Systems(FORTE XVlll), 2005:473-488. [10] Feng Liang-bing, Gu Tian-long. A Petri-net based approach for detecting the non-determinism feature interactions in web services composition [J].Journal of Guilin University of Electronic Technology, 2007,27(6):468-472.(in Chinese) [11] Luo X Y, Tan Z, Dong R S. An automatic verification of composite web services based on temporal and epistemic logic[C]∥Proc of the 3rd International Genetic and Evolutionary Computing Conference(WGEC2009), 2009:693-697. [12] Khoumsi A. Generic feature interaction detection in web services [C]∥Proc of the International Conference on Software Systems Engineering and their Applications (ICSSEA), 2011:85-97. 附中文參考文獻: [3] 倪晚成,劉連臣,吳澄.Web服務(wù)組合方法綜述[J].計算機工程,2008,34(4):79-81. [4] 馮良炳,古天龍.Web服務(wù)組合中非確定性特征交互的Petri網(wǎng)檢測[J].桂林電子科技大學(xué)學(xué)報,2007,27(6):468-472. ZHOUJie,born in 1988,MS candi- date,CCF member(E200028790G),her research interests include information security, and web service. 任江春(1979-),男,湖南汨羅人,博士,副教授,研究方向為可信計算、數(shù)據(jù)安全和系統(tǒng)安全。E-mail:wwwrjc@163.com RENJiang-chun,born in 1979,PhD,associate professor,his research interests include trusted computing, data security, and system security. 王志英(1956-),男,山西長治人,博士,教授,研究方向為先進計算機體系結(jié)構(gòu)、微處理器設(shè)計技術(shù)研究、信息安全和異步電路設(shè)計技術(shù)。E-mail:zywang@nudt.edu.cn WANGZhi-ying,born in 1956,PhD,professor,his research interests include computer architecture, microprocessor design, information security, and asynchronous circuits design technology. 程勇(1986-),男,湖南寧鄉(xiāng)人,博士生,研究方向為信息安全、可信計算和云存儲。E-mail:gfkdchy@gmail.com CHENGYong,born in 1986,PhD candidate,his research interests include information security, trusted computing, and cloud storage. 梅松竹(1985-),男,浙江嘉興人,博士生,研究方向為系統(tǒng)安全和存儲安全。E-mail:meisongzhu@gmail.com MEISong-zhu,born in 1985,PhD candidate,his research interests include system security, and storage security. APetrinetbasedWebservicescompositionsecuritydynamicdetectingtechnology ZHOU Jie,REN Jiang-chun,WANG Zhi-ying,CHENG Yong,MEI Song-zhu (College of Computer,National University of Defense Technology,Changsha 410073,China) Web services composition security detection is important to enhance Web services composition security in complex network environment. To solve the existing problem in it, the paper proposes a Web services composition security dynamic detecting framework and analyzes the key technology in detail, such as services composition modeling technology, security model and security detecting algorithm. Finally, an example test is taken to show it can realize the security detection function. Web services composition;security detection;dynamic detection algorithm 2012-08-01; :2012-11-05 國家自然科學(xué)基金資助項目(60903204,61070201) 1007-130X(2014)02-0250-08 TP309.3 :A 10.3969/j.issn.1007-130X.2014.02.011 周潔(1988-),女,湖北隨州人,碩士生,CCF會員(E200028790G),研究方向為信息安全和Web服務(wù)。E-mail:jzhou@nudt.edu.cn 通信地址:410073 湖南省長沙市國防科學(xué)技術(shù)大學(xué)計算機學(xué)院Address:College of Computer,National University of Defense Technology,Changsha 410073,Hunan,P.R.China5 實驗分析
6 結(jié)束語