摘要:應(yīng)用系統(tǒng)集成是軟件工程研究領(lǐng)域的熱點(diǎn)之一,在目前的研究當(dāng)中,集成系統(tǒng)的信息安全性引起了人們的關(guān)注。為了實(shí)現(xiàn)合法的用戶在其所授予的權(quán)限范圍內(nèi)訪問系統(tǒng)信息,本文提出了一種虛擬系統(tǒng)視圖模型,該模型使用認(rèn)證技術(shù)以及業(yè)務(wù)流與數(shù)據(jù)綁定,在用戶終端實(shí)現(xiàn)虛擬的系統(tǒng)視圖,使其只能操作虛擬系統(tǒng)的功能和數(shù)據(jù),從而實(shí)現(xiàn)對(duì)系統(tǒng)信息的安全保護(hù)。
關(guān)鍵詞:軟件集成;虛擬視圖;業(yè)務(wù)流
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)17-21522-02
1 背景知識(shí)
軟件應(yīng)用系統(tǒng)集成是軟件工程研究領(lǐng)域中的熱點(diǎn)之一,從長遠(yuǎn)觀點(diǎn)來看,應(yīng)用系統(tǒng)集成隨著軟件技術(shù)和網(wǎng)絡(luò)的發(fā)展將有著重要的應(yīng)用前景。當(dāng)前針對(duì)應(yīng)用系統(tǒng)集成的研究已經(jīng)從最初的數(shù)據(jù)集成逐步發(fā)展到業(yè)務(wù)流集成,集成度越來越高,但是目前的研究中也存在著眾多的問題和困難,尤其是集成系統(tǒng)中的信息安全問題,更是引起了人們的廣泛關(guān)注[1]。
集成系統(tǒng)中的信息安全威脅主要來源于系統(tǒng)集成對(duì)原獨(dú)立系統(tǒng)的信息安全保護(hù)機(jī)制的破壞[2],當(dāng)多個(gè)獨(dú)立系統(tǒng)組成集成系統(tǒng)后,它們本來物理分開的數(shù)據(jù)和工作流程也融合在一起,那么就存在有某個(gè)系統(tǒng)的用戶越權(quán)訪問另一個(gè)系統(tǒng)數(shù)據(jù)的可能。而另外一個(gè)來源是獨(dú)立系統(tǒng)之間的安全控制策略沖突,也可能會(huì)產(chǎn)生新的系統(tǒng)安全漏洞給集成系統(tǒng)信息帶來安全威脅。
為了解決以上所述的問題,本文提出了一種虛擬系統(tǒng)視圖模型,它擴(kuò)展了數(shù)據(jù)庫中數(shù)據(jù)視圖原理,通過建立系統(tǒng)虛擬視圖,在用戶終端實(shí)現(xiàn)一個(gè)虛擬的系統(tǒng),而用戶只能通過虛擬系統(tǒng)中來訪問集成后的系統(tǒng)數(shù)據(jù),執(zhí)行虛擬系統(tǒng)所提供的功能,而虛擬系統(tǒng)視圖的建立是與用戶的權(quán)限相關(guān)聯(lián),從而實(shí)現(xiàn)合法用戶以合法的權(quán)限訪問系統(tǒng)數(shù)據(jù)的目的。
2 虛擬系統(tǒng)視圖模型
2.1 模型結(jié)構(gòu)
虛擬系統(tǒng)視圖主要是擴(kuò)展了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)視圖的概念而形成的。在數(shù)據(jù)庫系統(tǒng)中視圖只是原始數(shù)據(jù)庫數(shù)據(jù)的一種變換,是查詢表中數(shù)據(jù)的另外一種方式。可以將視圖看成是一個(gè)移動(dòng)的窗口,通過它可以看到感興趣的數(shù)據(jù)[3]。數(shù)據(jù)視圖在數(shù)據(jù)庫系統(tǒng)中的應(yīng)用不僅可以起到減少數(shù)據(jù)交換的次數(shù),而且還有個(gè)重要的作用就是安全性,視圖與表類似,但又不同于表,它只有結(jié)構(gòu)而沒有數(shù)據(jù),其數(shù)據(jù)實(shí)際上可能存在于原始數(shù)據(jù)庫中的多個(gè)基表中,因此數(shù)據(jù)視圖也起到了屏蔽基表的結(jié)構(gòu)作用,并且當(dāng)用戶要求使用視圖更改數(shù)據(jù)時(shí),就要求用戶對(duì)視圖的基表也要有相應(yīng)的修改權(quán)限。
本文所提出的虛擬系統(tǒng)視圖模型如圖1所示。
從圖1中可以看出,本模型的結(jié)構(gòu)中存在有三臺(tái)服務(wù)器:用戶認(rèn)證服務(wù)器,虛擬系統(tǒng)視圖服務(wù)器和業(yè)務(wù)流服務(wù)器。它們的主要實(shí)現(xiàn)的功能分別為:
1)用戶認(rèn)證服務(wù)器:它的功能分為兩個(gè)部分,一部分是對(duì)整個(gè)集成系統(tǒng)中的用戶進(jìn)行管理,包括設(shè)置角色,角色權(quán)限,角色對(duì)系統(tǒng)資源的訪問策略,用戶與角色的關(guān)聯(lián)等。而另一部分則是對(duì)訪問系統(tǒng)的用戶的身份進(jìn)行鑒別和認(rèn)證,確認(rèn)用戶與聲明的身份一致。用戶認(rèn)證服務(wù)器是整個(gè)集成系統(tǒng)實(shí)現(xiàn)信息安全保護(hù)的重要基礎(chǔ)。
2)虛擬系統(tǒng)視圖服務(wù)器:該服務(wù)器是實(shí)現(xiàn)虛擬系統(tǒng)視圖的核心服務(wù)器,它的主要功能是向用戶終端顯示虛擬系統(tǒng)界面,并將執(zhí)行完業(yè)務(wù)流從各個(gè)原獨(dú)立應(yīng)用系統(tǒng)返回的數(shù)據(jù)回饋給用戶,當(dāng)然這些數(shù)據(jù)都會(huì)根據(jù)用戶的權(quán)限進(jìn)行重組,類似于數(shù)據(jù)庫系統(tǒng)的視圖功能,再呈現(xiàn)用戶。
3)業(yè)務(wù)流服務(wù)器:業(yè)務(wù)流服務(wù)器與其它的集成系統(tǒng)是一致的,它主要完成用戶提及的任務(wù),并把任務(wù)分解成業(yè)務(wù)流,再根據(jù)配置的業(yè)務(wù)執(zhí)行規(guī)則,把業(yè)務(wù)流分發(fā)到各獨(dú)立的應(yīng)用系統(tǒng)中執(zhí)行。
2.2 模型工作流程
整個(gè)虛擬系統(tǒng)視圖模型的工作流程分為如下幾個(gè)步驟:
1)用戶通過終端向系統(tǒng)提交身份認(rèn)證證明,如口令,身份認(rèn)證數(shù)據(jù)等,當(dāng)用戶認(rèn)證服務(wù)器接收到用戶提交的請(qǐng)求后,它會(huì)對(duì)用戶進(jìn)行驗(yàn)證,確定用戶的身份以及其對(duì)應(yīng)的角色,并分配給用戶一個(gè)臨時(shí)的會(huì)話密鑰,同時(shí)將該用戶的身份認(rèn)證結(jié)果和密鑰綁定發(fā)送至虛擬系統(tǒng)視圖服務(wù)器。
2)虛擬系統(tǒng)接收到用戶認(rèn)證服務(wù)器發(fā)來的認(rèn)證結(jié)果以及會(huì)話密鑰數(shù)據(jù)后,根據(jù)認(rèn)證結(jié)果中用戶對(duì)應(yīng)的角色以及角色對(duì)應(yīng)的權(quán)限,構(gòu)建虛擬系統(tǒng)視圖,并與用戶終端建立連接,將虛擬系統(tǒng)視圖界面發(fā)送至用戶終端,準(zhǔn)備接收用戶提交的應(yīng)用請(qǐng)求。而構(gòu)建的虛擬系統(tǒng)視圖完全是依據(jù)用戶角色的權(quán)限設(shè)置的,只提供其角色權(quán)限所允許的系統(tǒng)操作功能。
3)用戶終端接收到虛擬系統(tǒng)視圖后,即可通過界面向業(yè)務(wù)流服務(wù)器發(fā)送應(yīng)用請(qǐng)求,業(yè)務(wù)流服務(wù)器在接收到用戶提交的請(qǐng)求后,將業(yè)務(wù)進(jìn)行分解,并發(fā)送到各個(gè)原獨(dú)立系統(tǒng)中,由原獨(dú)立系統(tǒng)執(zhí)行后,將執(zhí)行后的結(jié)果數(shù)據(jù)發(fā)送到虛擬系統(tǒng)視圖服務(wù)器。這一部分的工作與一般的集成系統(tǒng)的工作流程是一致的。
4)虛擬系統(tǒng)視圖服務(wù)器在接收到業(yè)務(wù)流執(zhí)行結(jié)果數(shù)據(jù)后,根據(jù)用戶的角色權(quán)限設(shè)置對(duì)業(yè)務(wù)流執(zhí)行結(jié)果數(shù)據(jù)進(jìn)行重組和清選,最終利用用戶的臨時(shí)會(huì)話密鑰將重組清選后的數(shù)據(jù)返回至用戶終端。完成一次用戶業(yè)務(wù)請(qǐng)求。
5)當(dāng)用戶完成工作,退出系統(tǒng)后,虛擬系統(tǒng)視圖服務(wù)器會(huì)將該用戶的臨時(shí)會(huì)話密鑰作廢,同時(shí)用戶終端也會(huì)將其中保存的數(shù)據(jù)全部清除。
從上述的工作流步驟可以看出,在本模型中用戶的虛擬系統(tǒng)視圖是根據(jù)用戶的角色而生成的,其功能與其角色權(quán)限緊密關(guān)聯(lián),而用戶從其終端是無法直接訪問集成系統(tǒng)的數(shù)據(jù)。
2.3 模型關(guān)鍵技術(shù)
在本模型中涉及到數(shù)據(jù)安全保護(hù)最為主要的操作就是:從用戶角色映射成虛擬系統(tǒng)視圖功能和界面,從用戶角色映射到用戶允許訪問的數(shù)據(jù)范圍。這兩個(gè)操作是貫徹和執(zhí)行集成系統(tǒng)數(shù)據(jù)安全保護(hù)策略的重要步驟。其中從用戶角色映射到虛擬系統(tǒng)視力功能和界面的步驟體現(xiàn)了用戶的操作權(quán)限,具體的映射由安全策略定義實(shí)現(xiàn),如下所示;
Rule #xxxx: role A:〈Flow B,dataCond〉
其中#xxxx是策略的編號(hào),而role A代表A角色,F(xiàn)low B代表一個(gè)工作流,其中工作流是可以嵌套定義的。由以上這條規(guī)則可以看出,可以給集成系統(tǒng)中每個(gè)角色設(shè)定其所能進(jìn)行的工作流,而工作流反映到虛擬系統(tǒng)視圖即是用戶可以進(jìn)行的操作,再由操作生成對(duì)應(yīng)的操作界面,即為虛擬系統(tǒng)的用戶界面。
而用戶角色映射到用戶允許訪問的數(shù)據(jù)范圍這步驟的實(shí)現(xiàn)必須要應(yīng)用到工作流與數(shù)據(jù)的綁定,只有通過這種綁定,最終在虛擬系統(tǒng)視圖服務(wù)器中才能區(qū)分不同的數(shù)據(jù)來源以及確定最終對(duì)數(shù)據(jù)的重組和清洗。從上述的規(guī)則定義可以看出,這種綁定是通過二元組的方式來表述的。DataCond表達(dá)了FlowB執(zhí)行結(jié)果數(shù)據(jù)集中重組和清洗的規(guī)則,這種規(guī)則的描述可以通過XML進(jìn)行描述。例如設(shè)定用戶只能訪問自己創(chuàng)建的數(shù)據(jù)規(guī)則可以如下描述:
在這個(gè)規(guī)則中描述了一個(gè)匹配的要求,即要求虛擬視圖系統(tǒng)取得的用戶名必須與工作流執(zhí)行結(jié)果數(shù)據(jù)的創(chuàng)建者一致才可以返回給用戶終端。
3 應(yīng)用舉例
以下本文以一個(gè)系統(tǒng)集成為例說明本模型的實(shí)際使用。本系統(tǒng)集成由一個(gè)文檔管理系統(tǒng)與財(cái)務(wù)系統(tǒng)集成,其中文檔管理系統(tǒng)中包含了一個(gè)組織內(nèi)使用的所有文檔,而財(cái)務(wù)系統(tǒng)則包含該組織內(nèi)部財(cái)務(wù)信息。通過系統(tǒng)集成后,文檔管理系統(tǒng)的用戶可以直接在系統(tǒng)中填寫財(cái)務(wù)報(bào)銷的憑證,然后直接提交給財(cái)務(wù)系統(tǒng),財(cái)務(wù)系統(tǒng)處理后,將返回用戶報(bào)銷的處理情況。顯然對(duì)于用戶來說,他只需要訪問自己的報(bào)銷事務(wù)信息就可以了,他不應(yīng)該具有訪問財(cái)務(wù)系統(tǒng)其它信息的權(quán)限。針對(duì)這個(gè)系統(tǒng)集成可以建立以下的虛擬系統(tǒng)視圖予以實(shí)現(xiàn)。
首先是在系統(tǒng)中針對(duì)上述用戶建立一個(gè)角色,該角色可以訪問并提交數(shù)據(jù)給財(cái)務(wù)系統(tǒng)的報(bào)銷模塊信息,但只限于其自身的報(bào)銷事務(wù)信息。當(dāng)角色建立后,就可以在系統(tǒng)中為該類用戶分配該角色。當(dāng)用戶進(jìn)入集成系統(tǒng)時(shí),他必須要向系統(tǒng)提交其身份認(rèn)證,當(dāng)認(rèn)證服務(wù)器通過其身份認(rèn)證后,將分配的臨時(shí)會(huì)話密鑰發(fā)送到用戶終端和虛擬系統(tǒng)視圖服務(wù)器,虛擬系統(tǒng)視圖服務(wù)器即可以根據(jù)用戶角色向用戶終端反饋回虛擬系統(tǒng)界面。顯然根據(jù)該用戶角色,其虛擬系統(tǒng)界面上不存在財(cái)務(wù)系統(tǒng)的其它功能如,生成財(cái)務(wù)報(bào)表等如圖2所示。
當(dāng)用戶利用文檔管理系統(tǒng)編輯其報(bào)銷憑證并生成憑證數(shù)據(jù),利用虛擬系統(tǒng)視圖功能將其提交給原財(cái)務(wù)系統(tǒng)服務(wù)器,原財(cái)務(wù)系統(tǒng)接收用戶提交的報(bào)銷數(shù)據(jù)后,將其插入其數(shù)據(jù)庫中并返回提交成功的信息到虛擬系統(tǒng)視圖服務(wù)器。由該服務(wù)器反饋回用戶終端。而當(dāng)用戶查詢其報(bào)銷處理情況時(shí),虛擬系統(tǒng)視圖將根據(jù)用戶的身份檢查反饋回的數(shù)據(jù),只將與用戶身份匹配的數(shù)據(jù)加密后返回給用戶終端,這個(gè)檢查的過程可以使用如2.3節(jié)所述的規(guī)則來實(shí)現(xiàn)。
從這個(gè)例子可以看出,通過虛擬系統(tǒng)模型完全屏蔽了用戶對(duì)財(cái)務(wù)系統(tǒng)數(shù)據(jù)的訪問,并可以根據(jù)用戶身份對(duì)返回的財(cái)務(wù)系統(tǒng)數(shù)據(jù)進(jìn)行審查和清選,保證了用戶不會(huì)訪問到除他自己的報(bào)銷事務(wù)信息之外的其它信息,從而保證了財(cái)務(wù)系統(tǒng)的數(shù)據(jù)安全。
4 總結(jié)與討論
本文主要是提出一種虛擬系統(tǒng)視圖模型,該模型的主要目的是為了實(shí)現(xiàn)集成系統(tǒng)中對(duì)用戶的數(shù)據(jù)屏蔽,使用戶不能直接訪問到集成系統(tǒng)中某個(gè)子系統(tǒng)的數(shù)據(jù),從而達(dá)到對(duì)集成系統(tǒng)中數(shù)據(jù)信息的安全保護(hù)目的。從上述的模型的結(jié)構(gòu)及其工作流程來看,本系統(tǒng)具有主要具有以下三個(gè)優(yōu)點(diǎn):
第一,本模型對(duì)于集成系統(tǒng)的數(shù)據(jù)保護(hù)比較嚴(yán)密,通過虛擬視圖系統(tǒng)服務(wù)器使得用戶不能直接訪問集成系統(tǒng)中的數(shù)據(jù),而且服務(wù)器提交給用戶的數(shù)據(jù)都經(jīng)過重組清選,加密更進(jìn)一步保護(hù)了系統(tǒng)的安全。
第二,本模型可以實(shí)現(xiàn)細(xì)粒度的用戶權(quán)限控制,因?yàn)楸灸P退摂M出的系統(tǒng)是根據(jù)用戶角色權(quán)限而建立的,其功能與角色權(quán)限一一對(duì)應(yīng),由此可見,本模型中每個(gè)角色都可以實(shí)現(xiàn)不同的系統(tǒng)功能及界面。與一般的集成系統(tǒng)采用控制用戶界面功能失效和激活的方式相比,配置更靈活,而且控制粒度更細(xì)。
第三,對(duì)原有系統(tǒng)的變更較少,從本模型的結(jié)構(gòu)可以看出,與一般的集成系統(tǒng)相比,本模型只是添加了身份驗(yàn)證服務(wù)器,和虛擬系統(tǒng)視圖服務(wù)器,而原有的集成系統(tǒng)工作流服務(wù)變更很小,從而節(jié)省集成系統(tǒng)的集成費(fèi)用和工程量。
當(dāng)然,本模型也存在一些缺點(diǎn),主要是如果系統(tǒng)業(yè)務(wù)大的情況下,系統(tǒng)結(jié)構(gòu)中虛擬系統(tǒng)視圖服務(wù)器可能會(huì)成為整個(gè)系統(tǒng)的瓶頸而影響系統(tǒng)工作效率,而這是可以通過其它方式解決的,總體上說本模型具有良好的擴(kuò)展性和系統(tǒng)兼容性,因而具有一定的實(shí)際使用價(jià)值。
參考文獻(xiàn):
[1] 周權(quán),肖德琴,唐屹.基于XML應(yīng)用集成安全模型設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2005,22(11).
[2] 潘海鵬,周天瑞,肖任賢,等.網(wǎng)絡(luò)化信息集成系統(tǒng)安全性的研究與實(shí)現(xiàn)[J].機(jī)械設(shè)計(jì)與制造,2006(11).
[3] AbrahamSilberschatz.數(shù)據(jù)庫系統(tǒng)概念[M]. 3版.機(jī)械工業(yè)出版社,2000:17-20.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文