蘇 雪 宋國新 張小云
1(武漢鐵路職業(yè)技術(shù)學(xué)院 湖北 武漢 430205)2(華東理工大學(xué)計算機系 上海 200237)3(武漢郵電科學(xué)研究院 湖北 武漢 430074)
基于證書的服務(wù)組合動態(tài)訪問控制策略
蘇 雪1宋國新2張小云3
1(武漢鐵路職業(yè)技術(shù)學(xué)院 湖北 武漢 430205)2(華東理工大學(xué)計算機系 上海 200237)3(武漢郵電科學(xué)研究院 湖北 武漢 430074)
Web服務(wù)的動態(tài)性為應(yīng)用系統(tǒng)帶來了新的安全威脅,然而傳統(tǒng)的方法難以有效地保證服務(wù)的動態(tài)訪問過程。使用Petri網(wǎng)作為Web服務(wù)組合過程的形式化描述工具,清晰地表達(dá)了Web服務(wù)組合中各組件之間的邏輯關(guān)系,并提出基于證書的Web服務(wù)組合的訪問控制策略,從而滿足動態(tài)選取可用Web服務(wù)的實際需求。利用Petri網(wǎng)的操作語義及相關(guān)理論分析該方法的正確性,并給出相應(yīng)的實施算法。案例分析展示了該方法的可行性和有效性。
服務(wù)組合 Petri網(wǎng) 證書 安全 訪問控制
隨著軟件規(guī)模和復(fù)雜性的迅速增長,構(gòu)建可靈活配置軟件系統(tǒng)的需求日益凸顯,服務(wù)組合作為一種新型的分布式計算模型,近年來得到了業(yè)界和學(xué)術(shù)界的極大關(guān)注。服務(wù)組合是利用服務(wù)之間的相互通信和協(xié)作,把簡單的Web服務(wù)組合成具有新功能的大粒度服務(wù)的過程[1]。許多Web服務(wù)應(yīng)用如金融、在線交易或電子商務(wù)等都與安全有關(guān),并且Web服務(wù)運行的網(wǎng)絡(luò)環(huán)境是一個快速變化的動態(tài)環(huán)境,從而使得提供服務(wù)的系統(tǒng)受攻擊的情況復(fù)雜,導(dǎo)致安全控制的難度增大[2]。如何根據(jù)系統(tǒng)的服務(wù)資源動態(tài)地構(gòu)造出安全可靠的服務(wù)組合變得日益重要。
為了解決Web應(yīng)用安全問題,文獻(xiàn)[3]使用可信策略語言來創(chuàng)建組合的性質(zhì)。但它所提出的方法對程序設(shè)計人員不直觀。Skogsrud和Benatallah等人[4-5]提出對可信Web服務(wù)的協(xié)商機制進行建模。文獻(xiàn)[6]中利用可信第三方,收集所有已注冊Web服務(wù)的QoS數(shù)據(jù),以保證其可靠性。這些方法的優(yōu)點是考慮服務(wù)不同階段的策略建模,可以提高服務(wù)策略實施的靈活性以及適應(yīng)性。但其缺點在于:沒有考慮服務(wù)非功能屬性,隨著服務(wù)規(guī)模的增大,服務(wù)組合的結(jié)果可能是用戶無法接受的。文獻(xiàn)[7]將QoS數(shù)據(jù)來源作為Web服務(wù)質(zhì)量屬性,但當(dāng)所選擇的服務(wù)具有時效性時不能保證服務(wù)的可組合性?;赑etri網(wǎng)的形式化方法可用于復(fù)雜系統(tǒng)的建模和驗證[8]。文獻(xiàn)[9]應(yīng)用Petri網(wǎng)對Web服務(wù)進行分析研究,不過在方法驗證過程中沒有考慮服務(wù)的安全機制。文獻(xiàn)[10]提出一套歸一化的方法,將不同QoS屬性的取值按照其權(quán)值統(tǒng)一為一個整體值,該方法沒有涉及服務(wù)的訪問控制過程。本文提出一種服務(wù)組合動態(tài)的訪問控制策略及基于Petri網(wǎng)的服務(wù)組合訪問網(wǎng)SCAN(Service Composition Access Net)的構(gòu)造方法,利用 Petri網(wǎng)的可達(dá)狀態(tài)及相關(guān)理論分析訪問控制策略的正確性及有效性。實例仿真結(jié)果表明,本文所提出的方法能夠有效地簡化系統(tǒng)的建模,提高服務(wù)組合的質(zhì)量。
1.1 服務(wù)組合的訪問控制需求分析
在本文中,我們將服務(wù)組合中的子功能稱為組件。每個組件則由一系列相互關(guān)聯(lián)的任務(wù)集構(gòu)成。任務(wù)的訪問條件規(guī)定了對敏感數(shù)據(jù)的訪問限制。為了實施細(xì)粒度訪問控制,本文對服務(wù)請求者和提供者劃分了等級。
(1)C,S,T分別是有限的組件集、可用服務(wù)集和任務(wù)集;
(2)CW:C→S為組件擁有的可用服務(wù)集函數(shù)。其中CW(Ci)={Si,1,Si,2,…,Si,m}為組件Ci擁有的可用服務(wù)集合,Si,j表示組件Ci的可用服務(wù)集合中的第j個可用服務(wù);
(3)CT:S→T*是可用服務(wù)的任務(wù)集函數(shù)。由于每個任務(wù)僅屬于一個可用服務(wù),為了區(qū)別任務(wù)所屬的服務(wù),規(guī)定Si,k·Ti,j為可用服務(wù)Si,k中的任務(wù)Ti,j;
(4)R=(RC,RT),其中RC:C×C→{>,+,‖},RT:T×T→{>,+,‖}為組件與任務(wù)之間的關(guān)系。其中>、+、‖分別代表順序、選擇和并行的關(guān)系。若R(Ci,Cj)=>,則稱Ci為Cj的前向組件,Cj為Ci的后向組件。記集合Fork(Ci)={Cj|R(Cj,Ci)=>},Back(Ci)={Cj|R(Ci,Cj)=>};
(5)RT定義為服務(wù)的屬性函數(shù),記為RT(Si,j)=(PDi,j,TPi,j),其中PDi,j表示服務(wù)Si,j的提供商等級,TPi,j是服務(wù)Si,j中任務(wù)的訪問條件。
1.2 服務(wù)組合的訪問控制策略
本文基于上述服務(wù)組合訪問控制需求,根據(jù)可用服務(wù)的執(zhí)行流程和任務(wù)的訪問條件研究服務(wù)組合的動態(tài)訪問控制策略。設(shè)組件Ci的可用服務(wù)集為{S1,S2,…,Sn},不同服務(wù)的執(zhí)行流程不盡相同,且任務(wù)的訪問條件不同。
任務(wù)集合ET(Si,j)稱為Si,j的一個完整任務(wù)集。即服務(wù)可以通過觸發(fā)一個完整的任務(wù)集到達(dá)一個服務(wù)結(jié)束位置。由于可用服務(wù)從初始位置到結(jié)束位置可能存在多個路徑,因此服務(wù)的完整任務(wù)集不唯一。記服務(wù)Si,j的所有完整任務(wù)集合為AET(Si,j)。
證書描述了特定時刻Web服務(wù)的運行環(huán)境參數(shù)信息,包含證書名稱、編號和屬性集等,為訪問控制策略提供相應(yīng)的參數(shù)值,進而確定服務(wù)申請者的訪問權(quán)限。在服務(wù)組合過程中證書應(yīng)該根據(jù)組件的執(zhí)行動態(tài)調(diào)整。
定義2 一個證書CR是一個三元組(name,serial,attr),其中:
name是證書的名稱,要求名稱不能重復(fù);
serial是該證書的編號,隨著服務(wù)組合的執(zhí)行,編號從1開始遞增;
attr=(a1,a2,…,an)是證書的屬性值,每個屬性ai=(nameai,valueai),nameai、valueai分別描述了屬性的名稱和值。為了區(qū)別各個屬性,本文假設(shè)a1是與服務(wù)請求者相關(guān)聯(lián)的屬性,a2,…,an則是與前向組件執(zhí)行服務(wù)的提供者相關(guān)聯(lián)。
服務(wù)組合的訪問控制策略是通過設(shè)置證書包含的屬性條件AC定義的。屬性ai的函數(shù)AC(ai)是一個布爾表達(dá)式:nameaiopk,其中nameai是屬性名稱,op是一個比較操作符,k是一個整數(shù)。設(shè)CR=(name,serial,attr)是一個證書,AC是一個布爾表達(dá)式。稱證書CR滿足條件AC當(dāng)且僅當(dāng)?ak∈attr,使得AC(ak)為真,記做CR◇AC。若證書CR滿足條件集{AC1,AC2,…,ACn},則記做CR·{AC1,AC2,…,ACn}。
定義3 設(shè)服務(wù)Si,k是Ci的一個可用服務(wù),CR為服務(wù)組合的一個證書,則任務(wù)Si,k·Ti,j的訪問控制策略ACP(CR,Si,k·Ti,j)為:CR◇{AC1,AC2,…,ACn},其中{AC1,AC2,…,ACn}是任務(wù)Si,k·Ti,j的訪問條件。
證書CR滿足任務(wù)Si,k·Ti,j的訪問控制策略是指在該證書下系統(tǒng)有權(quán)觸發(fā)任務(wù)Si,k·Ti,j。服務(wù)是通過執(zhí)行一組任務(wù)集來完成其功能,因此可以通過設(shè)置服務(wù)中各個任務(wù)的訪問控制條件而實現(xiàn)對服務(wù)的訪問控制。
依據(jù)任務(wù)的訪問控制條件,可以給出服務(wù)組合的訪問控制策略:
設(shè)AET(Si,j)是可用服務(wù)Si,j的所有完整任務(wù)集合,即執(zhí)行AET(Si,j)中某個完整任務(wù)集可以完成服務(wù)Si,j的功能。CRf為服務(wù)組合的一個證書:
?ATf∈AET(Si,j),?Ti,j∈ATf,ACP(CRf,Si,k·Ti,j)為真,即證書CRf滿足服務(wù)Si,k的某個完整任務(wù)集中所有任務(wù)的訪問控制策略,則服務(wù)Si,k可以被證書CRf訪問的,記做CRf◇Si,k,否則記做CRf◇Si,k。組件Ci可以被證書CR訪問的可用服務(wù)集計為集合Access(CR,Ci)={Si,j|CR◇Si,j}。
2.1 服務(wù)組合訪問網(wǎng)定義
Petri網(wǎng)是一種具有豐富數(shù)學(xué)基礎(chǔ)的形式化模型。廣泛應(yīng)用于描述和研究具有異步并發(fā)特征的分布式系統(tǒng)。下面根據(jù)服務(wù)組合訪問控制需求,提出服務(wù)組合訪問網(wǎng),具體的Petri網(wǎng)相關(guān)概念見文獻(xiàn)[8]。
定義4 三元組Σ=(N,IO,λ)稱作基本服務(wù)網(wǎng)BN(BasicNet),其中:
(1)N=(P,T,F,D,AT,M0)是一個基本著色Petri網(wǎng),其中P、T、F分別表示庫所、變遷和弧的有限集,且兩兩不相交;D為非空有限的個體集;對于t∈T,AT(t)是變遷t必須滿足的函數(shù);M0是Σ的初始標(biāo)識。
(2)IO?P是一類特殊的庫所,稱為Σ的接口,用虛線圓圈表示。
(3)λ:T→N*是變遷的優(yōu)先級,默認(rèn)為0,其中λi越小,變遷ti的優(yōu)先級越高。
BN模型主要用于可用服務(wù)執(zhí)行過程的建模。模型中的庫所、接口和變遷分別描述可用服務(wù)的所處狀態(tài)、輸入輸出參數(shù)和執(zhí)行操作。對于任意x∈(P∪T),集合·x={y|y∈(P∪T)∧(y,x)∈F}和x·={y|y∈(P∪T)∧(y,x)∈F}分別對應(yīng)于x的輸入和輸出。
定義5 六元組Ω={Σ,Γ,IT,IP,AT,AP}稱作服務(wù)組合訪問網(wǎng)SCAN,其中:
(1)Σ是一個BN模型,該模型描述了Ω的基本結(jié)構(gòu);
(2)Γ={Γi|i∈N*}是頁的有限集,其中每個頁面是一個BN或SCAN模型,頁和頁之間互不相交:設(shè)Γi對應(yīng)的Petri網(wǎng)結(jié)構(gòu)Ni=(Pi,Ti,Fi),則?Γi,Γi∈Γ,有(Pi∪Ti∪Fi)∩(Pj∪Tj∪Fj)=Φ;
(3)IT是替代節(jié)點的集合,IP是端口節(jié)點的集合;
(4)AT是頁的分配函數(shù),AP是端口映射函數(shù)。
SCAN模型的標(biāo)識、替換、可行替換的定義可以參考著色Petri網(wǎng)。標(biāo)識M:P→fs主要描述了系統(tǒng)的資源分布。集合VP(M,t)為變遷t在標(biāo)識M下的所有可行替換。設(shè)Ω為SCAN模型,M為Ω的一個標(biāo)識,若VP(M,t)≠Φ,則稱變遷t在標(biāo)識M下有發(fā)生權(quán),記做M[t>。集合ET(m)={t|M[t>}。對于變遷ti∈ET(m),若λi≤min(λj)其中tj∈ET(m),則稱變遷ti在標(biāo)識M下的觸發(fā)是有效的。集合FT(m) 為標(biāo)識M下所有可以有效觸發(fā)的變遷。將標(biāo)識M通過有效觸發(fā)一個可行替換ti〈d1,d2,…,dn〉到達(dá)新標(biāo)識M′的過程記為M[t1〈d1,d2,…,dn〉M′。集合MT(m)={ti|?tj∈T,·ti∩·tj=Φ}。稱集合H(m)={t〈d1,d2,…,dn〉|t∈MT(m),t〈d1,d2,…,dn〉∈VP(M,t)}為M的一個最大觸發(fā)集。
?ti〈d1,d2,…,dn〉∈H(m),?pj∈·ti∪ti ·:M(Pj)=M(Pj)-AF(pj,ti)〈d1,d2,…,dn〉 +AF(ti,pj)〈d1,d2,…,dn〉集合R(m)為從M可達(dá)的所有標(biāo)識集合,規(guī)定M∈R(m)。記集合δ(M,Mk)為從M到達(dá)Mk的所有觸發(fā)序列集合。基于上述觸發(fā)規(guī)則,從初始標(biāo)識M0出發(fā)可以構(gòu)造系統(tǒng)的可達(dá)圖。
2.2 服務(wù)組合安全建模
證書和訪問控制策略決定了系統(tǒng)可以訪問的可用服務(wù)集。設(shè)服務(wù)組合的模型為Ψ,則系統(tǒng)證書計算和匹配服務(wù)的規(guī)則為:
(1) 初始證書CRI的屬性為{aI},當(dāng)前證書CRnow=CRI,還未執(zhí)行的組件集合Cnot=C,新的證書的屬性為{a1},服務(wù)組合執(zhí)行的服務(wù)集IS=Φ,轉(zhuǎn)入步驟(2)。
(2) 需要執(zhí)行的組件Cnext={Ci|Ci∈Cnot∧(?Cj∈Cnot,RC(Cj,Ci)≠>)},Cnot=Cnot-Cnext,轉(zhuǎn)入步驟(3)。
(3) 若Cnext=Φ,則輸出“執(zhí)行成功”,否則執(zhí)行步驟(4)-步驟(6)。
(4) 若?Cj∈C,R(Cj,Ci)?{+,‖},則執(zhí)行Ci。Access(CRnow,Ci)≠Φ,并轉(zhuǎn)步驟(6),否則組件Ci匹配服務(wù)失敗,轉(zhuǎn)步驟(7)。
(5) 若?Cj∈C,R(Cj,Ci)={+,‖},則執(zhí)行Cj。若Access(CRnow,Ci)∪Access(CRnow,Cj)≠Φ,則執(zhí)行步驟(6),否則組件Ci匹配服務(wù)失敗,轉(zhuǎn)步驟(7)。
學(xué)生上課使用手機的外因 統(tǒng)計結(jié)果見表6??傻贸鰧W(xué)生上課使用手機的主要外因來源于教學(xué)模式過于陳舊,所占比例約為三成,最為突出;其次,教學(xué)方法所占比例為二成以上;教學(xué)內(nèi)容枯燥與課堂管理寬松、缺乏互動交流均占一成以上。大學(xué)生主觀能動性較強,對于不感興趣的課通常會找事去做,如上課玩手機,也比較在意教師的教育教學(xué)水平。
(6) 匹配服務(wù)并更新證書,轉(zhuǎn)入步驟(2)。
(7) 匹配失敗時反饋給上一個組件,重新匹配:Cnext=Cnext∪{Cj|Cj∈C,R(Cj,Ci)=>},轉(zhuǎn)步驟(2)。
圖1 組件的SCAN模型
圖2 基本關(guān)系的SCAN模型
(1) 根據(jù)可用服務(wù)的屬性函數(shù)RT,構(gòu)造服務(wù)、組件和基本關(guān)系的SCAN模型;
(2) 變遷tst和庫所pst描述系統(tǒng)的開始操作和開始位置,設(shè)置初始標(biāo)識M0(pst)=CR1,其中初始證書的屬性為aI;
(3) 變遷ten和庫所pen描述系統(tǒng)的結(jié)束操作和結(jié)束位置;
(4) 異常處理的建模,?Ci∈C,若Fork(Ci)=Φ,則引入變遷teh,i將組件匹配失敗輸出到庫所pcn,設(shè)置·teh,i=Pri,teh,i·=pcn。
3.1 訪問控制策略的實施
由于組件調(diào)用的服務(wù)不同,同一個SCAN模型Ω會到達(dá)不同的標(biāo)識。設(shè)M是Ω的一個標(biāo)識:若ET(m)=Φ,則稱M為Ω的終止標(biāo)識,所有的終止標(biāo)識記為集合ES(Ω);若M∈ES(Ω)∧M(pen)=Φ,則稱S為的正常Ω終止標(biāo)識,否則稱S為異常終止標(biāo)識。
本文中的終止標(biāo)識指系統(tǒng)沒有變遷可以觸發(fā)的標(biāo)識,正常終止標(biāo)識指完成組合流程的標(biāo)識,異常終止標(biāo)識則指系統(tǒng)中某個組件匹配失敗時組合流程到達(dá)的終止標(biāo)識。所有正常終止標(biāo)識記為集合ESn(Ω)。從SCAN模型的執(zhí)行語義可知,異常終止標(biāo)識是唯一的。從初始標(biāo)識到正常終止標(biāo)識的觸發(fā)序列中所調(diào)用的服務(wù)稱為可行組合方案。若存在一個可行組合方案,則服務(wù)組合需求是可組合的。從SCAN模型的角度,可行組合方案就是從初始標(biāo)識到某個正常終止標(biāo)識的服務(wù)集調(diào)用序列。
隨著系統(tǒng)所包括的任務(wù)與服務(wù)的數(shù)目增多,SCAN模型的可達(dá)圖規(guī)模會急劇增大。本文采用啟發(fā)式搜索算法計算服務(wù)組合SCAN模型的可達(dá)路徑。不過由于路徑是在部分可達(dá)圖中產(chǎn)生的,算法輸出結(jié)果有可能不是最優(yōu)的:
Step1 標(biāo)記M(作用防止重復(fù)計算走過的路徑,從而減少計算的工作量),轉(zhuǎn)Step2。
Step2 若M(pen)=φ,則輸出組合方案,否則轉(zhuǎn)Step3。
Step3 判斷S的所有子節(jié)點是否都被標(biāo)記過:是則回退一步(即當(dāng)前標(biāo)識等于上一級標(biāo)識,若已經(jīng)回退到初始標(biāo)識,則輸出“模型是不可組合的”),并更新組合方案和轉(zhuǎn)Step4;否則轉(zhuǎn)Step4。
Step4 計算當(dāng)前標(biāo)識的下一個未被標(biāo)記標(biāo)識,若新的標(biāo)識可能觸發(fā)某個組件的匹配失敗操作,則標(biāo)記新的標(biāo)識,并重新計算當(dāng)前標(biāo)識的下一個未被標(biāo)記標(biāo)識,否則轉(zhuǎn)Step5。
Step5 更新可行組合方案,令當(dāng)前標(biāo)識等于新的標(biāo)識,轉(zhuǎn)Step1。
3.2 訪問控制策略的正確性分析
動態(tài)訪問控制策略的正確性主要表現(xiàn)在:(1)根據(jù)當(dāng)前證書動態(tài)為組件選擇可以訪問的服務(wù)運行;(2)若后向組件匹配失敗時,前向組件可以及時得到反饋和重新匹配。
CRnow◇Si,j∧(?δk∈δ(M0,M),Ci·ts,j?δk) 當(dāng)且僅當(dāng)Ci·ts,j∈FT(m)
證明 (因為?δk∈δ(M0,M),Ci·ts,j?δk,同時Ci·ps,j·=Ci·ts,j∧M0(Ci·ps,j)=φ,所以M(Ci·ps,j)=φ。
因為CRnow◇Si,j,所以Ci·ts,j的AT函數(shù)為真。
因為Ci·ts,jj的優(yōu)先級為Ci·tfa且·Ci·ts,j={Ci·ps,j,Ci·pinI},所以根據(jù)觸發(fā)條件可知Ci·ts,j∈FT(m),即可用服務(wù)Si,j可以被當(dāng)前證書訪問。
因為Ci·ts,j∈FT(m),所以Ci·ts,j的AT函數(shù)為真,且CRnow◇Si,j。
因為·Ci·ts,j={Ci·ps,j,Ci·pinI},所以M(Ci·ps,j)=φ。
因為Ci·ps,j·=Ci·ts,j∧M0(Ci·ps,j)=φ,所以?δk∈δ(M0,M),Ci·ts,j?δk。
綜上所述,CRnow◇Si,j∧(?δk∈δ(M0,M),Ci·ts,j?δk) 當(dāng)且僅當(dāng)Ci·ts,j∈FT(m)。 得證。
定理1說明若服務(wù)Si,j可以標(biāo)識M下的證書訪問且還未被執(zhí)行過則在M標(biāo)識下服務(wù)可能匹配給組件。
證明 因為?δk∈δ(M0,M),Ci·ts,j?δk且Cj·ts·={Cj·pouO,Cj·pc},所以M(Cj·pc)≠Φ。
因為·tcf,i=Pfai,所以tcf,i∈FT(M1)。
因為R(Cj,Ci)=>,?Ck∈C根據(jù)Cj與Ck的關(guān)系可分為3種情形:Cj和Ck沒有直接關(guān)系,R(Cj,Ck)=‖或R(Cj,Ck)=+。
情形一:Cj和Ck沒有直接關(guān)系,根據(jù)順序關(guān)系的SCAN模型可知tcf,i·=Prj。
定理2說明當(dāng)后向組件匹配失敗時,前向組件可以及時得到反饋和重新匹配。
本文用一個簡化的物流服務(wù)系統(tǒng)來說明服務(wù)組合建模及訪問控制策略實施方法,并通過仿真實驗分析證書、策略對服務(wù)組合可行性的影響。服務(wù)系統(tǒng)系統(tǒng)的流程的執(zhí)行流程如下:物流服務(wù)流程首先進行業(yè)務(wù)需求分析(C1),接著查詢相關(guān)的貨物運輸公司(C2),然后根據(jù)裝載配載優(yōu)化(C3)的結(jié)果進行運輸路線優(yōu)化(C5)和供應(yīng)鏈網(wǎng)絡(luò)優(yōu)化(C4)。最后,完成支付和發(fā)票管理(C6)后實施裝運前的審計(C7)。該業(yè)務(wù)流程可表示為表達(dá)式C1>C2>((C3>C5)‖C4)>C6>C7,具體可用服務(wù)的提供商等級(PD)和訪問條件(TP)如表1所示,其中將服務(wù)提供者劃分為10級。
表1 可用服務(wù)及其屬性
續(xù)表1
基于上述物流服務(wù)的需求,遵照服務(wù)組合的SCAN構(gòu)建步驟,可以得到物流服務(wù)的SCAN模型Ω。圖3描述了物流服務(wù)的SCAN模型Ω的執(zhí)行過程。
圖3 物流服務(wù)的SCAN模型
設(shè)某個用戶等級為5的用戶需要執(zhí)行物流服務(wù),計算模型Ω的狀態(tài)空間,并分析模型存在下列可行組合方案:{S1,6,S2,2,S3,5,S4,5,S5,1,S6,2,S7,2}{S1,6,S2,2,S3,5,S4,5,S5,1,S6,4,S7,2}{S1,6,S2,2,S3,5,S4,5,S5,1,S6,4,S7,2}{S1,6,S2,2,S3,5,S4,5,S5,3,S6,4,S7,2}。
為了分析本文提出訪問控制策略實施的可行性和有效性,下面從不同的方面對系統(tǒng)進行實驗。實驗的目的是分析用戶等級對服務(wù)組合訪問模型狀態(tài)空間的影響,從另一角度,也說明了不同策略對服務(wù)組合可行性的影響。具體實驗步驟如下:
(1) 首先隨機生成10個用戶(等級分別為1~10)和700個可用服務(wù)構(gòu)成物流服務(wù)的基本服務(wù)資源,且每個服務(wù)都包含一些必需的屬性。
(2) 其次將服務(wù)資源分為10組,一個物流服務(wù)對應(yīng)一組實驗,其中每個物流服務(wù)中組件都擁有10個可用服務(wù),依次對每個物流服務(wù)做步驟(3)。
(3) 計算物流服務(wù)的可行組合方案數(shù)(結(jié)果如圖4所示,其中橫坐標(biāo)為用戶等級,縱坐標(biāo)為可行組合方案數(shù))和采用啟發(fā)式搜索算法運行結(jié)束所經(jīng)歷的步驟(簡稱查找步驟數(shù),具體結(jié)果如圖5所示,其中橫坐標(biāo)為用戶等級,縱坐標(biāo)為查找步驟數(shù))。
圖4 物流服務(wù)的可行組合方案
圖5 物流服務(wù)組合的查找次數(shù)
從實驗結(jié)果分析可知:當(dāng)用戶等級較低時,容易出現(xiàn)物流服務(wù)不可組合的現(xiàn)象。如當(dāng)用戶等級為1~3時,僅僅存在一個物流服務(wù)在用戶等級為3時是可組合的;隨著用戶等級的提高,可行組合方案數(shù)呈非遞減的趨勢;查找步驟數(shù)與用戶等級沒有直接關(guān)系。
分析其原因發(fā)現(xiàn)當(dāng)查找步驟數(shù)主要與服務(wù)組合過程中選擇可訪問的服務(wù)相關(guān);當(dāng)服務(wù)是不可組合時,查找步驟數(shù)隨著用戶等級的提高呈非遞減趨勢,主要是因為在這種情況下,算法會遍歷所有可訪問的服務(wù)。
本文利用Petri網(wǎng)對服務(wù)組合訪問控制的不同方面進行建模,描述了基于證書的服務(wù)組合的動態(tài)訪問策略,并給出服務(wù)組合訪問控制的實施和分析方法。本文使用的方法具有如下優(yōu)勢:(1) 使用Petri網(wǎng)這種形式化工具描述服務(wù)組合流程,形式化地描述能使服務(wù)組合訪問控制過程推理簡化,也為基于證書的服務(wù)組合策略的正確性分析奠定了基礎(chǔ);(2) 基于模型的狀態(tài)空間提出了對服務(wù)組合訪問控制進行分析的方法,進而減少分析的復(fù)雜度;(3) 闡述了服務(wù)的訪問控制過程,分析了服務(wù)組合的可組合性的粒度,并給出動態(tài)服務(wù)組合訪問控制策略和具體實施。
形式化的軟件開發(fā)方法具有可靠性強、易理解、模塊易控制以及更易于復(fù)用等特性。下一步的研究方向包括:面向方面的Petri網(wǎng)建模及其在服務(wù)軟件設(shè)計領(lǐng)域的應(yīng)用研究,以及相關(guān)支撐工具的開發(fā)。
[1] Papazoglou M P,Heuvel W J.Service oriented architectures:approaches,technologies and research issues[J].International Journal on Very Large Data Bases,2007,16(3):389-415.
[2] Fernandes D A B,Soares L F B,Gomes J V,et al.Security issues in cloud environments:a survey[J].International Journal of Information Security.2014,13(2):113-170.
[3] Nagarajan A,Varadharajan V,Hitchens M.Trust management and negotiation for attestation in trusted platforms using Web services[C]//Proceedings of the Eighth International Conference on Parallel and Distributed Computing,Applications and Technologies.Washington,USA:IEEE Computer Society,2007:453-460.
[4] Skogsrud H,Motahari N H R,Benatallah B,et al.Modeling trust negotiation for Web services[J].IEEE Internet Computer.2009,42(2):54-61.
[5] Skogsrud H,Benatallah B,Casati F.Model-driven trust negotiation for Web services[J].IEEE Internet Computing.2011,7(6):45-52.
[6] Manikrao U S,Prabhakar T V.Dynamic selection of Web services with recommendation system[C]//Proceedings of the International Conference on Next Generation Web Services Practices 2005.New York,NY,USA:ACM,2005:117.
[7] 李研,周明輝,李瑞超,等.一種考慮QoS 數(shù)據(jù)可信性的服務(wù)選擇方法[J].軟件學(xué)報,2008,19(10):2620-2627.
[8] Girault C,Valk R.Petri Nets for System Engineering:A Guide to Modeling,Verification,and Applications[M].Berlin:Springer-Verlag,2003.
[9] 范貴生,虞慧群,陳麗瓊,等.基于Petri網(wǎng)的服務(wù)組合故障診斷與處理[J].軟件學(xué)報,2010,21(2):231-247.
[10] Liu Y,Ngu A H H,Zeng L.QoS computation and policing in dynamic Web service selection[C]//Proceedings of the 13th International World Wide Web Conference on Alternate Track Papers & Posters.New York,USA:ACM,2005,66-73.
A DYNAMIC ACCESS CONTROL STRATEGY FOR SERVICE COMPOSITION BASED ON CERTIFICATE
Su Xue1Song Guoxin2Zhang Xiaoyun3
1(WuhanRailwayVocationalCollogeofTechnology,Wuhan430205,Hubei,China)2(DepartmentofComputerScience,EastChinaUniveristyofScienceandTechnology,Shanghai200237,China)3(WuhanInstituteofPostsandTelecommunicationSciences,Wuhan430074,Hubei,China)
The dynamics of Web services brings new security threats to application systems.However,the traditional security models are inadequate to guarantee security of dynamic service composition.Thus,a dynamic access control strategy for service composition based on certificate is proposed.Petri nets are used to define and model the different components of service composition precisely.What’s more,an access control strategy for service composition is proposed,which can dynamically select available services to meet the actual requirements.Theories of Petri nets are used to prove correctness of the access control strategy,and the enforcement algorithm is given.A case study shows feasibility and efficiency of the proposed method.
Service Composition Petri Net Certificate Security Access control
2015-10-10。國家科技重大專項項目(2010ZX03004-003-03)。蘇雪,副教授,主研領(lǐng)域:軟件工程,服務(wù)計算。宋國新,教授。張小云,高工。
TP393.4
A
10.3969/j.issn.1000-386x.2017.01.058