亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于UML模型的起源感知訪問(wèn)控制策略分析方法

        2016-01-08 05:31:31孫連山,祁志斌,侯濤
        關(guān)鍵詞:安全工程訪問(wèn)控制起源

        一種基于UML模型的起源感知訪問(wèn)控制策略分析方法*

        孫連山1,祁志斌2,侯濤1

        (1.陜西科技大學(xué)電氣與信息工程學(xué)院,陜西 西安 710021;

        2.中國(guó)石油長(zhǎng)慶油田公司資金結(jié)算中心,陜西 西安 710021)

        摘要:起源(Provenance)是記錄數(shù)據(jù)演變歷史的元數(shù)據(jù)。 最近研究者提出起源感知的訪問(wèn)控制,通過(guò)追溯和分析訪問(wèn)者或被訪問(wèn)對(duì)象的起源來(lái)決定允許或拒絕訪問(wèn)請(qǐng)求。 由于起源通常由系統(tǒng)在運(yùn)行時(shí)記錄并呈現(xiàn)為復(fù)雜的有向圖,識(shí)別、規(guī)約和管理起源感知的訪問(wèn)控制策略非常困難。 為此,提出了一個(gè)基于UML模型的起源感知訪問(wèn)控制策略分析方法,包括對(duì)復(fù)雜起源圖的抽象建模技術(shù)以及一個(gè)在面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程中系統(tǒng)地建立起源模型、規(guī)約起源感知訪問(wèn)控制策略的參考過(guò)程指南。 最后結(jié)合企業(yè)在線培訓(xùn)系統(tǒng)案例說(shuō)明如何應(yīng)用所提出的方法。

        關(guān)鍵詞:起源;起源模型;訪問(wèn)控制;UML;安全工程

        中圖分類(lèi)號(hào):TP311.5 文獻(xiàn)標(biāo)志碼:A

        doi:10.3969/j.issn.1007-130X.2015.06.013

        收稿日期:*2014-01-24;修回日期:2014-08-14

        基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(61202019);陜西省教育廳自然科學(xué)專(zhuān)項(xiàng) (14JK1098)

        作者簡(jiǎn)介:

        通信地址:710021 陜西省西安市未央?yún)^(qū)北郊大學(xué)城陜西科技大學(xué)電氣與信息工程學(xué)院計(jì)算機(jī)系

        Address:Department of Computer Science,College of Electrical and Information Engineering,Shaanxi University of Science and Technology,Xi’an 710021,Shaanxi,P.R.China

        A UML model-based analysis approach for provenance-aware access control policies

        SUN Lian-shan1,QI Zhi-bin2,HOU Tao1

        (1.College of Electrical and Information Engineering,Shaanxi University of Science and Technology,Xi’an 710021;

        2.Settlement Center,Petrochina Changqing Oilfield Company,Xi’an 710021,China)

        Abstract:Provenance is the historical meta-data of data objects. It has recently been used to enable provenance-based access control (PBAC), which grants or denies an access request according to the provenance of either the subjects or the objects. However, provenance can only be collected at run-time via complex directed acyclic graphs, so it is very difficult for security architects to efficiently specify PBAC policies due to the complexity of provenance graphs and its unavailability at design time. We explore a UML model-based approach to analyze PBAC policies. Specifically, we first introduce a conceptual provenance model to shield the complexity of the provenance graphs and to enable policy analysis at the design time. We then introduce a UML model-based process to guide the analysis of the conceptual provenance model and the PBAC policies along with the object-oriented development. We validate the proposed approach within an enterprise online training system.

        Key words:provenance;provenance model;access control;UML;security engineering

        1引言

        現(xiàn)代軟件應(yīng)用系統(tǒng)通過(guò)網(wǎng)絡(luò)互聯(lián),形成動(dòng)態(tài)變化的復(fù)雜軟件網(wǎng)絡(luò)[1]。大量數(shù)據(jù)在軟件網(wǎng)絡(luò)經(jīng)歷由不同用戶(hù)和系統(tǒng)實(shí)施的復(fù)雜的加工處理過(guò)程,數(shù)據(jù)之間存在復(fù)雜的依賴(lài)關(guān)系,不僅數(shù)據(jù)的可用性至關(guān)重要,數(shù)據(jù)來(lái)源以及數(shù)據(jù)產(chǎn)生過(guò)程的可信性也非常重要[2,3]。借鑒藝術(shù)品鑒定領(lǐng)域記錄藝術(shù)品的來(lái)源和流轉(zhuǎn)過(guò)程的做法,人們提出了數(shù)據(jù)起源 (Provenance) 的概念[4],并嘗試實(shí)現(xiàn)了各種起源感知系統(tǒng)PAS(Provenance-Aware Systems)[3,4],解決諸如產(chǎn)品質(zhì)量問(wèn)題溯源、科學(xué)實(shí)驗(yàn)結(jié)果重建、智能金融決策、電子病例跟蹤、訪問(wèn)控制等不同領(lǐng)域的需求[3,5]。數(shù)據(jù)的起源其實(shí)就是數(shù)據(jù)的演變歷史檔案,是一種特殊的元數(shù)據(jù)。起源記錄了數(shù)據(jù)在其從產(chǎn)生到消亡的整個(gè)生命期內(nèi)所涉及的各種數(shù)據(jù)、加工處理過(guò)程以及人員等信息[4~7]。數(shù)據(jù)溯源則是查詢(xún)數(shù)據(jù)起源的活動(dòng)。起源感知系統(tǒng)支持?jǐn)?shù)據(jù)溯源,允許用戶(hù)利用起源數(shù)據(jù)完成不同的任務(wù)。

        起源數(shù)據(jù)具有迥異于普通數(shù)據(jù)和其它元數(shù)據(jù)的特點(diǎn)[8]。首先,起源數(shù)據(jù)通常是數(shù)據(jù)對(duì)象的歷史,語(yǔ)義上具有不可變性;其次,數(shù)據(jù)對(duì)象的某個(gè)歷史版本或處理過(guò)程實(shí)例往往不能單獨(dú)刻畫(huà)起源信息的本質(zhì),起源數(shù)據(jù)通常呈現(xiàn)為由實(shí)體以及實(shí)體之間的因果關(guān)系 (起源依賴(lài)關(guān)系) 構(gòu)成的復(fù)雜有向圖 (簡(jiǎn)稱(chēng)起源圖)。起源數(shù)據(jù)的獨(dú)特性質(zhì)導(dǎo)致傳統(tǒng)的安全模型、機(jī)制和策略規(guī)約語(yǔ)言和工具無(wú)法直接用于實(shí)現(xiàn)起源感知系統(tǒng)的訪問(wèn)控制[9,10]。具體來(lái)講,起源數(shù)據(jù)對(duì)訪問(wèn)控制的影響至少體現(xiàn)在兩個(gè)方面。首先,起源數(shù)據(jù)可能具有敏感性[11,12]。例如,學(xué)員的綜合成績(jī)不是敏感數(shù)據(jù),但包含不同考核人員打分過(guò)程信息的起源數(shù)據(jù)卻是敏感的。其次,起源數(shù)據(jù)也可作為決策的依據(jù),控制用戶(hù)對(duì)系統(tǒng)中的敏感資源的訪問(wèn)[13,14]。例如,規(guī)定員工的業(yè)績(jī)必須經(jīng)過(guò)至少三位以上同事的匿名評(píng)審之后,才能由其主管評(píng)定和提交最終考核成績(jī)。這里員工業(yè)績(jī)所經(jīng)歷的匿名評(píng)審次數(shù)作為起源數(shù)據(jù)是控制主管能否開(kāi)始評(píng)定員工考核成績(jī)的依據(jù)。針對(duì)這些新型訪問(wèn)控制需求以及起源感知系統(tǒng)的獨(dú)特性質(zhì),研究者提出了一系列起源感知的訪問(wèn)控制模型、策略規(guī)約語(yǔ)言和相應(yīng)的實(shí)施框架[10~14],為保護(hù)起源感知系統(tǒng)中敏感的數(shù)據(jù)起源以及其它敏感資源提供一種新途徑。

        作為現(xiàn)有訪問(wèn)控制系統(tǒng)的補(bǔ)充和發(fā)展,起源感知的訪問(wèn)控制系統(tǒng)包含兩部分,即起源感知的訪問(wèn)控制策略以及相應(yīng)的訪問(wèn)控制策略實(shí)施框架。訪問(wèn)控制策略規(guī)約用戶(hù)或組織的安全需求;訪問(wèn)控制實(shí)施框架則在運(yùn)行時(shí)截獲訪問(wèn)請(qǐng)求并根據(jù)訪問(wèn)控制策略決定允許或拒絕訪問(wèn)請(qǐng)求[15]。本文僅關(guān)注起源感知訪問(wèn)控制策略的分析問(wèn)題。事實(shí)上,起源感知的訪問(wèn)控制策略通常引用起源圖的一個(gè)或多個(gè)子圖。這些子圖作為整體封裝了定義訪問(wèn)控制策略所需的起源信息。通常需使用某種打包技術(shù)封裝訪問(wèn)控制策略所需的起源子圖[12,16]。如Syalim A等人[16]靜態(tài)地定義需要保護(hù)的敏感起源子圖,Cadenhead A等人[12]采用正則表達(dá)式表示起源問(wèn)題,以動(dòng)態(tài)地計(jì)算起源子圖等。起源圖往往非常復(fù)雜,子圖繁多,且并不是所有子圖都具有用戶(hù)感興趣的起源依賴(lài)語(yǔ)義。因此,識(shí)別與起源相關(guān)的訪問(wèn)控制需求并定義起源感知的訪問(wèn)控制策略非常困難。

        為提高起源感知的訪問(wèn)控制策略規(guī)約的效率和靈活性,研究者在訪問(wèn)控制策略中嵌入起源查詢(xún)語(yǔ)句,動(dòng)態(tài)地計(jì)算需要引用的起源子圖[12],避免必須靜態(tài)地定義起源子圖的局限。針對(duì)起源圖的查詢(xún)語(yǔ)句仍然很復(fù)雜,Park J等人[13,14]為起源查詢(xún)語(yǔ)句命名,提出了依賴(lài)名的概念,允許開(kāi)發(fā)者重復(fù)使用依賴(lài)名代替相似的起源查詢(xún)語(yǔ)句,進(jìn)一步提高了規(guī)約起源感知策略的效率。但是,現(xiàn)有研究工作僅關(guān)注于使用依賴(lài)名或其對(duì)應(yīng)的動(dòng)態(tài)起源查詢(xún)語(yǔ)句規(guī)約訪問(wèn)控制策略的可行性,而沒(méi)有從軟件工程的視角考察依賴(lài)名與軟件分析和設(shè)計(jì)模型等概念層模型之間的關(guān)系,沒(méi)有討論如何在軟件開(kāi)發(fā)過(guò)程當(dāng)中正確并高效地定義依賴(lài)名和相應(yīng)的訪問(wèn)控制策略等問(wèn)題。

        本文從軟件工程的角度考察起源感知訪問(wèn)控制策略的分析問(wèn)題,提出一個(gè)基于統(tǒng)一建模語(yǔ)言UML(Unified Modeling Language)模型的起源感知訪問(wèn)控制策略分析方法,包括對(duì)復(fù)雜起源圖的抽象建模技術(shù)以及一個(gè)在面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程中建立起源模型、基于起源模型規(guī)約起源感知訪問(wèn)控制策略的參考過(guò)程指南。

        本文余下部分的安排如下。第2節(jié)介紹一個(gè)貫穿全文的案例以及有關(guān)源感知的訪問(wèn)控制的基礎(chǔ)知識(shí)。第3節(jié)提出了一種抽象的起源模型。該模型深化了依賴(lài)名的內(nèi)涵,明確地定義其組成成分和各成分之間的組裝規(guī)則和約束,將用戶(hù)感興趣的起源語(yǔ)義形式地建模為抽象的起源類(lèi)型,闡明了起源類(lèi)型與起源圖中具有起源語(yǔ)義的子圖之間的關(guān)系。抽象的起源模型能屏蔽起源數(shù)據(jù)的復(fù)雜性。引入抽象的起源模型是高效地定義和管理起源感知訪問(wèn)控制策略的關(guān)鍵。第4節(jié)分析抽象的起源模型與系統(tǒng)分析和設(shè)計(jì)模型的關(guān)系,給出一個(gè)基于UML模型的起源感知訪問(wèn)控制策略分析方法,指導(dǎo)開(kāi)發(fā)者基于軟件分析和設(shè)計(jì)模型建立抽象的起源模型,并進(jìn)一步規(guī)約起源感知的訪問(wèn)控制策略。第5節(jié)則以企業(yè)在線培訓(xùn)系統(tǒng)為例說(shuō)明所提出的抽象起源模型和訪問(wèn)控制策略分析方法。第6節(jié)介紹了相關(guān)工作并總結(jié)全文。

        2案例及預(yù)備知識(shí)

        本節(jié)首先介紹一個(gè)起源感知的在線培訓(xùn)系統(tǒng)OTS(Online Training System) 作為貫穿全文的案例,其次簡(jiǎn)要介紹基于起源的訪問(wèn)控制模型[13],作為理解下文論述的鋪墊。

        2.1在線培訓(xùn)系統(tǒng)

        在線培訓(xùn)系統(tǒng)有學(xué)員、講師和管理者等三類(lèi)用戶(hù)。培訓(xùn)活動(dòng)圍繞課程展開(kāi),每個(gè)課程包含教學(xué)課件、教學(xué)視頻、作業(yè)列表以及參與課程的講師和學(xué)員等。學(xué)員需瀏覽教學(xué)課件、在線完成練習(xí)題、離線完成作業(yè)并在線提交。每個(gè)作業(yè)有一個(gè)最終成績(jī)和若干評(píng)語(yǔ)。學(xué)員可以上傳和提交作業(yè),并在提交作業(yè)后隨機(jī)評(píng)閱他人作業(yè)。系統(tǒng)將在最后時(shí)限自動(dòng)提交所有未提交作業(yè)的最新版本。講師根據(jù)作業(yè)完成情況和學(xué)員對(duì)作業(yè)的互評(píng)結(jié)果給作業(yè)評(píng)分。在線培訓(xùn)系統(tǒng)在運(yùn)行時(shí)記錄諸如作業(yè)、評(píng)語(yǔ)、成績(jī)等問(wèn)題空間數(shù)據(jù)對(duì)象的起源,包括影響這些數(shù)據(jù)對(duì)象最終狀態(tài)的中間制品、針對(duì)這些數(shù)據(jù)對(duì)象的操作、影響或執(zhí)行相關(guān)操作的人員信息等。講師可根據(jù)起源數(shù)據(jù)分析學(xué)員的學(xué)習(xí)行為,而管理者則可根據(jù)起源數(shù)據(jù)監(jiān)督講師使用在線培訓(xùn)系統(tǒng)實(shí)施培訓(xùn)的過(guò)程,改進(jìn)企業(yè)的培訓(xùn)管理流程。此外,起源數(shù)據(jù)還可用于支持起源感知的訪問(wèn)控制,即根據(jù)起源數(shù)據(jù)控制用戶(hù)對(duì)系統(tǒng)中敏感資源的訪問(wèn) (部分起源數(shù)據(jù)本身可能也是敏感資源)。OTS的部分安全需求如下:

        (1)學(xué)員在最終提交作業(yè)之前可多次修改作業(yè)。

        (2)學(xué)員可評(píng)閱他人作業(yè)當(dāng)且僅當(dāng):①該作業(yè)已經(jīng)被提交;②學(xué)員本人已經(jīng)主動(dòng)提交了作業(yè);③此學(xué)員未曾評(píng)閱過(guò)該作業(yè);④該作業(yè)被評(píng)閱不多于三次;⑤該作業(yè)尚未被評(píng)分。

        (3)講師可選擇并綜合作業(yè)的部分評(píng)語(yǔ)為作業(yè)評(píng)出最終成績(jī)當(dāng)且僅當(dāng):①該作業(yè)仍未被評(píng)分;②該作業(yè)至少有兩個(gè)評(píng)語(yǔ);③該作業(yè)的提交者已經(jīng)至少評(píng)閱了兩個(gè)作業(yè)。

        (4)系統(tǒng)在最后期限到達(dá)時(shí)自動(dòng)提交所有未提交的作業(yè)。

        (5)學(xué)員能查看他人對(duì)其作業(yè)的評(píng)語(yǔ)以及作業(yè)的最終成績(jī),但不能查看評(píng)閱人的信息。

        (6)學(xué)員能評(píng)閱其它作業(yè),且能查看其評(píng)語(yǔ)在最終評(píng)分過(guò)程中是否得到采用,但不能查看被評(píng)閱作業(yè)的作者。

        (7)講師可查看作業(yè)的所有者、評(píng)閱者是否涉嫌自評(píng)閱或相互評(píng)閱 (利益沖突)。

        2.2起源感知的訪問(wèn)控制

        起源通常呈現(xiàn)為影響數(shù)據(jù)對(duì)象的各種實(shí)體 (如制品、過(guò)程和代理) 以及實(shí)體之間的依賴(lài)關(guān)系所構(gòu)成的有向圖[17]。圖1記錄了在線培訓(xùn)系統(tǒng)中一個(gè)作業(yè)成績(jī)的部分起源信息,表示學(xué)員S1在提交作業(yè)對(duì)象Hn之前多次對(duì)其進(jìn)行修改得到H2,…,Hn-1。隨后學(xué)員S2和S3評(píng)閱提交后的作業(yè)Hn得到評(píng)語(yǔ)R1和R2。講師P1對(duì)Hn進(jìn)行評(píng)分得到其最終成績(jī)G1。起源圖中的每個(gè)節(jié)點(diǎn)表示一個(gè)影響其它節(jié)點(diǎn)存在的實(shí)體。矩形表示數(shù)據(jù)對(duì)象所經(jīng)歷的加工處理過(guò)程。圖1包括作業(yè)上傳過(guò)程 upload、作業(yè)替換過(guò)程replace、作業(yè)提交過(guò)程 submit、作業(yè)評(píng)閱過(guò)程review 以及作業(yè)評(píng)分過(guò)程grade。橢圓形表示影響數(shù)據(jù)對(duì)象最終形態(tài)的中間制品。注意本文假設(shè)系統(tǒng)不會(huì)原地修改一個(gè)數(shù)據(jù)對(duì)象,任何對(duì)數(shù)據(jù)對(duì)象的修改都將在起源圖中創(chuàng)建一個(gè)新的節(jié)點(diǎn)。圖1中H1,H2,…,Hn等節(jié)點(diǎn)分別表示一個(gè)作業(yè)對(duì)象在不同時(shí)段的快照;R1和R2是作業(yè)對(duì)象的快照Hn的評(píng)語(yǔ);G1是作業(yè)對(duì)象Hn的成績(jī)。六邊形則表示控制或影響處理過(guò)程的人員。圖1中 S1是上傳作業(yè)的學(xué)員;S2和S3是評(píng)閱作業(yè)的學(xué)員;P1是為作業(yè)評(píng)分的講師。起源圖中的邊表示實(shí)體之間的依賴(lài)關(guān)系。每條有向邊的起點(diǎn)在一定程度上依賴(lài)于其終點(diǎn),即終點(diǎn)表示起點(diǎn)的部分起源信息。例如,圖1中邊〈H1,upload〉的標(biāo)簽g表明作業(yè)H1是由上傳過(guò)程所產(chǎn)生的;邊〈upload,S1〉的標(biāo)簽c表明上傳過(guò)程upload是由學(xué)員S1控制的。

        Figure 1 Provenance graph of OTS 圖1 OTS起源數(shù)據(jù)示意圖

        注意,除單個(gè)邊所表示的直接起源依賴(lài)語(yǔ)義之外,起源圖中的某些路徑也可能具有間接的起源依賴(lài)語(yǔ)義。例如,從Hn到H1的路徑表示Hn源自H1,即H1,H2,…,Hn-1均是Hn的歷史版本;G1到S2的路徑表明作業(yè)的成績(jī)G1在一定程度上取決于學(xué)員S2。注意起源圖中的路徑并不都具有起源語(yǔ)義。例如一個(gè)處理過(guò)程 p 生成了數(shù)據(jù)對(duì)象 a之后再使用數(shù)據(jù)對(duì)象 b生成數(shù)據(jù)對(duì)象c。盡管起源圖中存在路徑(a,p,b),但此路徑卻并不能表示a與b之間存在起源依賴(lài)關(guān)系。為了保護(hù)和使用具有起源語(yǔ)義的路徑,必須顯式地標(biāo)示它們,使之區(qū)分于其它路徑。

        傳統(tǒng)的訪問(wèn)控制模型通常依據(jù)訪問(wèn)主體及被保護(hù)對(duì)象的屬性制定訪問(wèn)控制決策,最終允許或拒絕訪問(wèn)請(qǐng)求。而基于起源的訪問(wèn)控制模型PBAC(Provenance-BasedAccessControl) 則利用被保護(hù)的數(shù)據(jù)對(duì)象的起源信息做出訪問(wèn)控制決策。圖2給出了一個(gè)基本的PBAC模型[13]。

        Figure 2 Core PBAC model [13] 圖2 基本的PBAC模型 [13]

        AU (ActingUser) 表示發(fā)起請(qǐng)求的用戶(hù)或用戶(hù)代理。

        A(Actions) 表示用戶(hù)針對(duì)被訪問(wèn)對(duì)象執(zhí)行的動(dòng)作。

        O(Objects) 表示被訪問(wèn)的對(duì)象集合。

        訪問(wèn)請(qǐng)求 (au,a,o) 由活動(dòng)用戶(hù)、動(dòng)作和被訪問(wèn)對(duì)象集合構(gòu)成。

        PD(ProvenanceData) 是被訪問(wèn)對(duì)象的起源信息。

        DL(DependencyList) 是由若干對(duì)依賴(lài)名 (DependencyName) 和依賴(lài)路徑模式 (DependencyPathPattern) 構(gòu)成的列表。每個(gè)依賴(lài)名對(duì)應(yīng)一個(gè)依賴(lài)路徑模式。依賴(lài)路徑模式實(shí)際上是針對(duì)起源圖的查詢(xún)語(yǔ)句模板。例如,在OTS中,作業(yè)提交之前可以被修改任意多次,則從作業(yè)的某個(gè)版本Hk(k=2,3,…n-1) 到作業(yè)的最初版本之間的路徑符合如下模式:

        (g,replace,u,Hw)*(g,upload,u)

        其中,wasDerivedFrom是依賴(lài)名;而g、u是邊類(lèi)型;upload和Hw是節(jié)點(diǎn)類(lèi)型;“*”是正則表達(dá)式運(yùn)算符,表示在其之前出現(xiàn)的括號(hào)內(nèi)容可出現(xiàn)任意多次。

        抽象的依賴(lài)路徑模式中的節(jié)點(diǎn)類(lèi)型和邊類(lèi)型可實(shí)例化為起源圖中的具體節(jié)點(diǎn)和邊。這些通過(guò)實(shí)例化得到的節(jié)點(diǎn)和邊與指定的起點(diǎn)和終點(diǎn)一起構(gòu)成起源圖中的起源依賴(lài)路徑,表示起點(diǎn)與終點(diǎn)之間的起源依賴(lài)關(guān)系。例如,圖1中 (Hn-1,wasDerivedFrom,H1) 和 (Hn-2,wasDerivedFrom,H1) 是兩條路徑,分別表示起點(diǎn)Hn-1、Hn-2與終點(diǎn)H1之間的起源依賴(lài)關(guān)系。依賴(lài)名在字面上體現(xiàn)路徑的起點(diǎn)和終點(diǎn)之間的起源依賴(lài)語(yǔ)義.

        P (Policies) 包含一系列起源感知的訪問(wèn)控制策略。每條策略是由一個(gè)或多個(gè)謂詞通過(guò)邏輯運(yùn)算符連接而成的一階邏輯公式[18]。PBAC策略中的謂詞可能引用起源依賴(lài)名,這些依賴(lài)名指代起源查詢(xún)語(yǔ)句模板,與訪問(wèn)請(qǐng)求中的訪問(wèn)主體和被訪問(wèn)對(duì)象相結(jié)合之后就得到具體的起源查詢(xún)語(yǔ)句,能在起源圖中確定具體的起源子圖。謂詞則判定這些起源子圖是否滿(mǎn)足給定的條件。如,若某策略要求“學(xué)員只能在作業(yè)被評(píng)分之前修改其對(duì)該作業(yè)的評(píng)語(yǔ)”,此策略可以形式地表示為:

        allow(u,revise,{o,r})?path(r,wasCreateBy,u)∧

        Path(o,wasGradeBy,?)

        其中,wasCreateBy是wasGradeBy的依賴(lài)名;Path(r,wasCreateBy,u)是起源圖中表示作業(yè)(o)的評(píng)語(yǔ)(r)由學(xué)員(u)創(chuàng)建的依賴(lài)路徑;Path(o,wasGradedBy,?)則表示作業(yè)(o)尚未被評(píng)分,即評(píng)分人集合為空集,起源圖中不存在相應(yīng)的路徑。顯然,如何確定依賴(lài)名、保證依賴(lài)名所指代的起源依賴(lài)路徑模式的正確性,是高效、正確地規(guī)約起源感知訪問(wèn)控制策略的關(guān)鍵。

        評(píng)估函數(shù)(AccessEvaluation) 根據(jù)給定策略評(píng)估訪問(wèn)請(qǐng)求并返回允許或拒絕訪問(wèn)的決策。

        3概念層起源模型

        軟件工程學(xué)科通常采用抽象的模型規(guī)約和管理復(fù)雜系統(tǒng),以控制軟件開(kāi)發(fā)和維護(hù)的復(fù)雜性。本文借鑒這一思想,解決由起源圖的復(fù)雜性所帶來(lái)的挑戰(zhàn)。事實(shí)上,起源圖中的實(shí)體和邊是系統(tǒng)的運(yùn)行時(shí)對(duì)象以及它們之間的相互關(guān)系在不同時(shí)刻的快照。例如,作業(yè)類(lèi)可實(shí)例化為多個(gè)不同的作業(yè)對(duì)象,分屬不同的學(xué)員;作業(yè)對(duì)象在不同時(shí)刻的快照即對(duì)應(yīng)于起源圖中的制品節(jié)點(diǎn)。再如,上傳功能可被激活為多個(gè)并行執(zhí)行的系統(tǒng)進(jìn)程,為不同的學(xué)員提供服務(wù);進(jìn)程在不同時(shí)刻的快照即對(duì)應(yīng)于起源圖中的加工處理節(jié)點(diǎn)。為在概念層次上建模和管理起源數(shù)據(jù),明確抽象的起源數(shù)據(jù)與軟件系統(tǒng)概念模型 (如軟件需求模型和設(shè)計(jì)模型) 之間的關(guān)系,管控起源圖的復(fù)雜性,本節(jié)介紹一種類(lèi)型化的起源模型TPM(TypedProvenanceModel) 及與之相對(duì)應(yīng)的上下文無(wú)關(guān) (Context-free) 的建模語(yǔ)言。圖3 是TPM的元模型,包括實(shí)體類(lèi)型 (Entity) 和起源依賴(lài)類(lèi)型 (Dependency),分別與起源圖中表示實(shí)體的節(jié)點(diǎn)以及表示實(shí)體之間起源依賴(lài)關(guān)系的邊相對(duì)應(yīng)。

        Figure 3 A meta-model of the typed provenance model 圖3 類(lèi)型化的起源模型的元模型

        3.1實(shí)體類(lèi)型

        TPM中包含多種實(shí)體類(lèi)型。如圖4所示,TPM包含三種與應(yīng)用無(wú)關(guān)的實(shí)體類(lèi)型,分別是表示數(shù)據(jù)對(duì)象的制品節(jié)點(diǎn) (Artifact)、表示動(dòng)作的加工處理節(jié)點(diǎn) (Process) 和表示人員和組織的代理節(jié)點(diǎn) (Agent) 等。由這些與應(yīng)用無(wú)關(guān)的實(shí)體類(lèi)型還可以進(jìn)一步派生出特定于應(yīng)用的實(shí)體類(lèi)型。例如,在OTS中,可將作業(yè)類(lèi) (Homework) 看作一個(gè)特定應(yīng)用的制品類(lèi)型,圖1中的制品節(jié)點(diǎn)H1,H2,…,Hn是作業(yè)類(lèi)的實(shí)例;圖1中,提交 (submit) 和評(píng)閱 (review) 等加工處理節(jié)點(diǎn),則是需求模型中的業(yè)務(wù)功能或者設(shè)計(jì)模型中相應(yīng)類(lèi)的方法的實(shí)例,即相關(guān)的業(yè)務(wù)功能或方法是特定應(yīng)用的加工處理類(lèi)型;圖1中,S1是學(xué)員角色的一個(gè)實(shí)例,即系統(tǒng)中用戶(hù)角色是特定應(yīng)用的代理類(lèi)型。

        注意,起源圖中特定于應(yīng)用的實(shí)體類(lèi)型都是需求模型和設(shè)計(jì)模型等系統(tǒng)概念模型中的元素,是運(yùn)行時(shí)數(shù)據(jù)或加工實(shí)例在設(shè)計(jì)層的概念性表述。但是,并不是所有系統(tǒng)模型元素都可成為T(mén)PM中的實(shí)體類(lèi)型。TPM中的系統(tǒng)模型元素在運(yùn)行時(shí)被實(shí)例化相應(yīng)的起源數(shù)據(jù),這些起源數(shù)據(jù)是回答起源問(wèn)題所必須的。開(kāi)發(fā)者需分析系統(tǒng)需求模型和設(shè)計(jì)模型,識(shí)別這些元素,將之加入TPM模型。使用特定于應(yīng)用的實(shí)體類(lèi)型可在概念層次上檢索和管理起源語(yǔ)義。如,用戶(hù)可以查詢(xún)哪些作業(yè)曾經(jīng)被學(xué)員角色評(píng)閱過(guò)。

        3.2依賴(lài)類(lèi)型和組裝規(guī)則

        如圖4所示,除實(shí)體類(lèi)型之外,TPM還包括表示不同實(shí)體之間起源依賴(lài)關(guān)系的起源依賴(lài)類(lèi)型。每個(gè)依賴(lài)類(lèi)型封裝了特定類(lèi)型的實(shí)體之間可能出現(xiàn)的某種起源依賴(lài)語(yǔ)義。相關(guān)的兩個(gè)實(shí)體類(lèi)型分別扮演結(jié)果 (Effect) 和起因 (Cause) 等兩個(gè)角色。依賴(lài)類(lèi)型可形式地定義為:

        其中,T是起源依賴(lài)類(lèi)型的符號(hào)名稱(chēng),N是T的別名。

        N在字面上體現(xiàn)類(lèi)型T的應(yīng)用特定的起源依賴(lài)語(yǔ)義,E和C分別表示結(jié)果實(shí)體類(lèi)型和起因?qū)嶓w類(lèi)型。規(guī)定N具有唯一性,下文交替使用N或T指代一個(gè)依賴(lài)類(lèi)型。可將N看作是從結(jié)果到起因的映射,即N:E→C。給定一個(gè)元素實(shí)例作為結(jié)果節(jié)點(diǎn),可通過(guò)依賴(lài)類(lèi)型計(jì)算其相關(guān)的起因。假設(shè)依賴(lài)類(lèi)型SubmittedBy (Homework,Stud) 表示作業(yè)與學(xué)員之間的提交關(guān)系,則SubmittedBy (h1) 表示提交作業(yè)實(shí)例h1的學(xué)員集合。根據(jù)圖1有SubmittedBy(h1) = {S1}。注意,上述定義明確地規(guī)定了依賴(lài)類(lèi)型與實(shí)體類(lèi)型的關(guān)系,即實(shí)體類(lèi)型在依賴(lài)類(lèi)型中扮演結(jié)果或起因。而實(shí)體類(lèi)型來(lái)自軟件分析和設(shè)計(jì)模型,即上述定義澄清了TPM與系統(tǒng)分析和設(shè)計(jì)模型之間的關(guān)系,為進(jìn)一步基于軟件分析和設(shè)計(jì)模型分析TPM奠定了理論基礎(chǔ)。

        TPM中的起源依賴(lài)類(lèi)型可分為簡(jiǎn)單依賴(lài)類(lèi)型 (PrimitiveDependency) 和復(fù)雜依賴(lài)類(lèi)型 (CompositeDependency)。簡(jiǎn)單依賴(lài)類(lèi)型可直接實(shí)例化為起源圖中的邊,而復(fù)雜依賴(lài)類(lèi)型則不然。

        如圖3所示,TPM包括wasGeneratedBy、wasControlledBy以及Used等三類(lèi)與特定應(yīng)用無(wú)關(guān)的簡(jiǎn)單依賴(lài)類(lèi)型以及一系列由它們所派生出來(lái)的與特定應(yīng)用相關(guān)的簡(jiǎn)單依賴(lài)類(lèi)型。與特定應(yīng)用無(wú)關(guān)的簡(jiǎn)單依賴(lài)類(lèi)型的結(jié)果實(shí)體類(lèi)型和起因?qū)嶓w類(lèi)型也與特定應(yīng)用無(wú)關(guān)。例如,wasGeneratedBy關(guān)系的結(jié)果實(shí)體類(lèi)型是制品 (Artifact),而起因?qū)嶓w則是加工處理 (Process)。而與特定應(yīng)用相關(guān)的起源依賴(lài)類(lèi)型的結(jié)果和起因?qū)嶓w類(lèi)型也是特定于應(yīng)用的。在特定的應(yīng)用中,簡(jiǎn)單依賴(lài)類(lèi)型對(duì)應(yīng)于功能操作使用或產(chǎn)生數(shù)據(jù)或被某個(gè)用戶(hù)控制的信息。

        圖4給出了OTS中圍繞加工replace的四個(gè)簡(jiǎn)單依賴(lài)類(lèi)型。表1則給出了它們的形式定義,其中UrepHwOld、GHwrep以及CrepStud等是依賴(lài)類(lèi)型名。大寫(xiě)的首字母U (Used)、G (wasGeneratedBy)、C (wasControlledBy) 指示其派生于哪個(gè)與應(yīng)用無(wú)關(guān)的簡(jiǎn)單依賴(lài)類(lèi)型,下標(biāo)部分則由結(jié)果實(shí)體類(lèi)型和起因?qū)嶓w類(lèi)型的縮寫(xiě)以及附加字符串構(gòu)成。例如,在T1和T2的類(lèi)型名UrepHwOld和UrepHwNew中,rep和Hw是類(lèi)型縮寫(xiě),Old和New則是附加字符串。附加字符串使得具有相同結(jié)果實(shí)體類(lèi)型和起因?qū)嶓w類(lèi)型的依賴(lài)類(lèi)型T1和T2得以相互區(qū)分,分別表示加工replace (rep)以待替換的舊版本作業(yè)Homework (Hw) 以及用于替換的新版本作業(yè)Homework(Hw) 作為輸入。通常每個(gè)加工處理類(lèi)型對(duì)應(yīng)于軟件設(shè)計(jì)模型中的一個(gè)方法或需求模型中的一個(gè)業(yè)務(wù)操作。而相關(guān)的起因?qū)嶓w類(lèi)型通常是方法或操作的輸入?yún)?shù)類(lèi)型,結(jié)果實(shí)體類(lèi)型則是方法或操作的輸出結(jié)果的類(lèi)型。可根據(jù)系統(tǒng)模型中的接口聲明自動(dòng)或半自動(dòng)地導(dǎo)出部分簡(jiǎn)單依賴(lài)類(lèi)型。

        Figure 4 Primitive dependencies 圖4 簡(jiǎn)單依賴(lài)類(lèi)型圖示

        除簡(jiǎn)單依賴(lài)類(lèi)型之外,TPM還包括復(fù)雜依賴(lài)類(lèi)型,封裝那些不能由單個(gè)簡(jiǎn)單依賴(lài)類(lèi)型表示的抽象的起源依賴(lài)語(yǔ)義,通常只能被實(shí)例化為起源圖中包含多條有向邊或某條有向邊的逆的路徑。復(fù)雜依賴(lài)類(lèi)型由簡(jiǎn)單依賴(lài)類(lèi)型按照一定的組裝規(guī)則 (CompositionRules) 組裝而成。組裝規(guī)則是由依賴(lài)類(lèi)型以及一系列組裝算子所構(gòu)成的表達(dá)式,滿(mǎn)足一定的組裝約束。下面分別介紹定義組裝規(guī)則的組裝算子和組裝約束。

        Table 1 Primitive dependencies of OTS

        首先,最基本的組裝算子‘·’可以連接兩個(gè)依賴(lài)類(lèi)型Ti和Tj得到一個(gè) TiTj。如表2所示,復(fù)雜依賴(lài)類(lèi)型T7表示作業(yè)及其上傳者之間的起源依賴(lài)關(guān)系,其中upload(up) 是OTS中的上傳操作,T5和T6分別表示upload創(chuàng)建作業(yè)對(duì)象以及upload受學(xué)員角色Stud控制。

        Table 2  Composite dependencies

        第三,某些起源依賴(lài)語(yǔ)義可能由具有不確定長(zhǎng)度的路徑表示。路徑長(zhǎng)度的不確定性來(lái)源于某些中間加工過(guò)程的可選性。如作業(yè)被上傳之后、提交之前可被替換任意多次。為建模這種情況,本文使用正則表達(dá)式運(yùn)算符‘?’、‘+’以及‘*’構(gòu)造復(fù)雜依賴(lài)類(lèi)型。‘?’表示其前導(dǎo)元素出現(xiàn)一次或零次;‘+’表示其前導(dǎo)元素出現(xiàn)至少一次或任意多次;‘*’表示其前導(dǎo)元素出現(xiàn)零次或任意多次。表2中的復(fù)雜依賴(lài)類(lèi)型T12表示作業(yè) (Hw) 由提交過(guò)程 (sub) 產(chǎn)生,T13表示提交過(guò)程 (sub) 使用未提交的作業(yè) (Hw)。T14的組裝模式是一個(gè)正則表達(dá)式,表示提交的作業(yè)是經(jīng)由哪些歷史版本替換后得到的。

        context T

        invariant A.cause = B.effect

        3.3一個(gè)上下文無(wú)關(guān)的類(lèi)型化起源建模語(yǔ)言

        本節(jié)總結(jié)上述類(lèi)型化的起源模型的構(gòu)成,給出一個(gè)上下文無(wú)關(guān)的類(lèi)型化起源建模語(yǔ)言。如表3所示,一個(gè)TPM包含實(shí)體類(lèi)型集合ET 以及起源依賴(lài)類(lèi)型集合DT。每個(gè)實(shí)體類(lèi)型可能是一個(gè)制品類(lèi)型An、一個(gè)過(guò)程類(lèi)型Pm或一個(gè)代理類(lèi)型Agk。依賴(lài)類(lèi)型包括簡(jiǎn)單依賴(lài)類(lèi)型PDT和復(fù)雜依賴(lài)類(lèi)型CDT。簡(jiǎn)單依賴(lài)類(lèi)型有三種形式G〈exp〉(An,Pm)、C〈exp〉(Pm,Agk)以及U〈exp〉(Pm,An)。復(fù)雜依賴(lài)類(lèi)型則由其它依賴(lài)類(lèi)型通過(guò)組裝算子-1、·、∨、∧、?、+、*等組裝而成。

        Table 3 A context-free typed provenance modeling language

        4訪問(wèn)控制策略分析方法

        TPM在概念層次上建模了系統(tǒng)將捕獲的起源數(shù)據(jù)及其能驗(yàn)證的起源語(yǔ)義。本節(jié)給出一個(gè)基于軟件概念模型 (UML模型) 分析并建立TPM模型,進(jìn)而利用TPM模型分析和規(guī)約起源感知的訪問(wèn)控制策略的方法。

        如圖5所示,實(shí)線矩形表示活動(dòng);箭頭表示控制流;虛線圓角矩形表示由某些活動(dòng)構(gòu)成的子過(guò)程;兩個(gè)無(wú)填充的圓角矩形表示需求分析活動(dòng)和體系結(jié)構(gòu)設(shè)計(jì)活動(dòng);有填充的虛線圓角矩形表示使用TPM模型定義訪問(wèn)控制策略的活動(dòng),相關(guān)活動(dòng)貫穿需求分析和體系結(jié)構(gòu)設(shè)計(jì)等兩個(gè)階段。下面概要介紹過(guò)程中的每個(gè)活動(dòng)及相關(guān)制品。

        Figure 5 A process for analyzing PBAC policies 圖5 一個(gè)起源感知訪問(wèn)控制策略分析過(guò)程

        (1)識(shí)別場(chǎng)景,建立需求模型。可用通用的需求分析方法識(shí)別目標(biāo)系統(tǒng)中的場(chǎng)景。每個(gè)場(chǎng)景描述具有某種組織角色 (actor,如OTS 中的學(xué)員和講師) 的用戶(hù)在特定條件下(conditions) 針對(duì)系統(tǒng)對(duì)象(objects) 執(zhí)行某項(xiàng)操作 (operation) 時(shí)與系統(tǒng)交互的過(guò)程。從場(chǎng)景中可以得到如〈actor,operation,objects,conditions〉的元組集合。根據(jù)系統(tǒng)采用的訪問(wèn)控制模型,一些訪問(wèn)條件可被識(shí)別為訪問(wèn)控制需求,而其它訪問(wèn)條件則作為功能需求的一部分。注意起源感知系統(tǒng)包含一些數(shù)據(jù)溯源場(chǎng)景[4]。這些場(chǎng)景的操作是查詢(xún)數(shù)據(jù)對(duì)象的起源,而相關(guān)訪問(wèn)條件則往往涉及起源,這些場(chǎng)景是識(shí)別起源類(lèi)型以及起源感知的訪問(wèn)控制策略的重要依據(jù)。

        (2)識(shí)別實(shí)體類(lèi)型和依賴(lài)類(lèi)型,創(chuàng)建TPM初始模型。通過(guò)分析每個(gè)數(shù)據(jù)溯源場(chǎng)景,識(shí)別出一組數(shù)據(jù)對(duì)象,在軟件設(shè)計(jì)過(guò)程中捕獲這些數(shù)據(jù)對(duì)象的起源數(shù)據(jù),保證使用這些起源信息能夠回答溯源場(chǎng)景中的起源問(wèn)題。同時(shí),識(shí)別與這些數(shù)據(jù)對(duì)象相關(guān)的角色 (actors) 和操作 (operation),然后將他們定義為T(mén)PM中的實(shí)體類(lèi)型。根據(jù)需求模型分析數(shù)據(jù)對(duì)象、操作以及與角色之間的關(guān)系,定義回答起源問(wèn)題必需的依賴(lài)類(lèi)型,給出依賴(lài)類(lèi)型的形式定義,并選擇恰當(dāng)?shù)囊蕾?lài)類(lèi)型名,盡可能在字面上體現(xiàn)特定應(yīng)用的起源依賴(lài)語(yǔ)義。注意本階段屬于需求分析階段,此時(shí)識(shí)別的依賴(lài)類(lèi)型往往是攜帶抽象起源依賴(lài)語(yǔ)義的復(fù)雜依賴(lài)類(lèi)型,開(kāi)發(fā)者僅能確定它們的名稱(chēng)以及相關(guān)的實(shí)體類(lèi)型,而與之相關(guān)的組裝規(guī)則只能推遲到設(shè)計(jì)階段才能確定。

        (3)識(shí)別起源感知的訪問(wèn)控制需求?;趫?chǎng)景以及TPM初始模型,可以識(shí)別并規(guī)約起源感知的訪問(wèn)控制需求。一方面,一些起源數(shù)據(jù)本身是敏感信息;另一方面,一些場(chǎng)景涉及的某些訪問(wèn)條件可使用數(shù)據(jù)起源加以驗(yàn)證。注意在使用起源數(shù)據(jù)驗(yàn)證場(chǎng)景訪問(wèn)條件的過(guò)程中可能引入新的起源依賴(lài)類(lèi)型 (沒(méi)有在第(2)步中被識(shí)別出來(lái)),即此活動(dòng)與上一階段的活動(dòng)可能發(fā)生迭代。這些新起源依賴(lài)類(lèi)型不直接用于回答用戶(hù)的數(shù)據(jù)溯源問(wèn)題,而只作為系統(tǒng)制定訪問(wèn)控制決策的部分依據(jù)。新起源依賴(lài)類(lèi)型的出現(xiàn)說(shuō)明起源感知的訪問(wèn)控制需求分析影響起源感知系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì)。這一事實(shí)進(jìn)一步說(shuō)明了結(jié)合起源感知系統(tǒng)的開(kāi)發(fā)過(guò)程識(shí)別和規(guī)約起源感知的訪問(wèn)控制需求的必要性和合理性。

        (4)設(shè)計(jì)軟件體系結(jié)構(gòu)模型。軟件體系結(jié)構(gòu)設(shè)計(jì)就是將需求分配到不同的構(gòu)件并定義構(gòu)件之間的連接。每個(gè)構(gòu)件提供一組公共接口供其它模塊使用。多個(gè)構(gòu)件通過(guò)接口相互連接在一起構(gòu)成整個(gè)軟件體系結(jié)構(gòu)。接口包含一組方法。本文認(rèn)為構(gòu)件的接口方法是定義簡(jiǎn)單依賴(lài)類(lèi)型的最小單元。例如,根據(jù)Homework類(lèi)的replace方法 (見(jiàn)圖6) 可得出圖4中的簡(jiǎn)單依賴(lài)類(lèi)型。軟件體系結(jié)構(gòu)通常包含多個(gè)視圖,本文使用UML模型中的類(lèi)圖和狀態(tài)圖分別建模系統(tǒng)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為,并將它們作為精化TPM模型、識(shí)別簡(jiǎn)單依賴(lài)類(lèi)型、定義與復(fù)雜依賴(lài)類(lèi)型相關(guān)聯(lián)的組裝規(guī)則及組裝約束的依據(jù)。

        (5)精化實(shí)體類(lèi)型和依賴(lài)類(lèi)型,完善TPM模型。首先,識(shí)別UML類(lèi)圖中與需要捕獲其起源數(shù)據(jù)的數(shù)據(jù)對(duì)象對(duì)應(yīng)的類(lèi),精化TPM初始模型中的實(shí)體類(lèi)型,得到一系列特定于應(yīng)用的實(shí)體類(lèi)型。包括特定應(yīng)用的制品類(lèi)型、加工類(lèi)型以及代理類(lèi)型等。其次,根據(jù)類(lèi)圖中給出的方法簽名導(dǎo)出簡(jiǎn)單依賴(lài)類(lèi)型并在必要時(shí)補(bǔ)充相關(guān)的實(shí)體類(lèi)型,根據(jù)狀態(tài)圖定義相關(guān)的組裝約束。最后,將每個(gè)復(fù)雜依賴(lài)類(lèi)型映射為一系列簡(jiǎn)單依賴(lài)類(lèi)型的組裝表達(dá)式,并使之滿(mǎn)足預(yù)定義的組裝約束。這些映射是允許訪問(wèn)控制實(shí)施框架使用起源圖評(píng)估由復(fù)雜依賴(lài)類(lèi)型定義的訪問(wèn)控制策略的關(guān)鍵。

        (6)精化并驗(yàn)證起源感知的訪問(wèn)控制策略?;诘?5)步精化得到的TPM模型,精化第(3)步定義的每個(gè)訪問(wèn)控制需求,形式地定義訪問(wèn)控制策略并驗(yàn)證其一致性。

        注意,本文所給出的方法本身并不保證訪問(wèn)控制策略的完整性和正確性,這往往依賴(lài)于開(kāi)發(fā)者的經(jīng)驗(yàn)。除此之外,根據(jù)軟件體系結(jié)構(gòu)模型自動(dòng)導(dǎo)出簡(jiǎn)單依賴(lài)類(lèi)型以及形式化地描述和自動(dòng)驗(yàn)證訪問(wèn)控制策略的正確性的工具仍有待進(jìn)一步研究和實(shí)現(xiàn)。

        5案例研究

        本節(jié)結(jié)合OTS系統(tǒng)說(shuō)明4.1節(jié)給出的基于UML模型的起源感知訪問(wèn)控制策略分析過(guò)程。

        步驟1識(shí)別場(chǎng)景。識(shí)別并規(guī)約系統(tǒng)的使用場(chǎng)景是最基本的軟件需求分析活動(dòng),有很多成熟的方法和工具供開(kāi)發(fā)者選用。本文不深入討論如何識(shí)別和規(guī)約場(chǎng)景,而只給出分析的結(jié)果。根據(jù)2.1節(jié)給出的OTS需求,得到如表4所示的場(chǎng)景列表,其中每一行代表一個(gè)場(chǎng)景。場(chǎng)景1~5是一般需求,場(chǎng)景6~8是數(shù)據(jù)溯源需求。

        步驟2識(shí)別實(shí)體類(lèi)型和依賴(lài)類(lèi)型,創(chuàng)建TPM初始模型?;诒?中的數(shù)據(jù)溯源場(chǎng)景6~8,可知OTS需要記錄三類(lèi)數(shù)據(jù)對(duì)象的起源,包括作業(yè) (Homework)、評(píng)語(yǔ) (Review) 以及成績(jī) (Grade)。從這三類(lèi)數(shù)據(jù)對(duì)象出發(fā),考察相關(guān)的操作和角色,可以得到如表5所示的OTS實(shí)體類(lèi)型列表。

        Table 5 A list of entity types of OTS

        表5中AG表示代理類(lèi)型;AT表示制品類(lèi)型;PT表示加工類(lèi)型。表5中大多數(shù)加工的含義均在2.1節(jié)有所介紹,而queryprov操作用于查詢(xún)作業(yè)、評(píng)語(yǔ)或成績(jī)等制品的起源。

        表6給出了回答數(shù)據(jù)溯源問(wèn)題6~8所需的起源依賴(lài)類(lèi)型及其語(yǔ)義的簡(jiǎn)要描述。表6中的大部分類(lèi)型都在第3節(jié)有所介紹。第2及第3個(gè)依賴(lài)類(lèi)型分別表示加工grade(grd) 使用作業(yè)和評(píng)語(yǔ)作為輸入。表6還給出了依賴(lài)類(lèi)型與數(shù)據(jù)溯源場(chǎng)景的映射關(guān)系。

        Table 6 Dependency types of OTS

        步驟3識(shí)別起源感知的訪問(wèn)控制需求,進(jìn)一步完善TPM模型。分析表4場(chǎng)景列表中的訪問(wèn)條件,識(shí)別起源感知的訪問(wèn)控制需求。首先,根據(jù)數(shù)據(jù)溯源場(chǎng)景6~8識(shí)別保護(hù)敏感起源的訪問(wèn)控制需求C1和C10。其中C1要求查閱作業(yè)評(píng)閱及評(píng)分狀態(tài)的用戶(hù)只能是擁有該作業(yè)的學(xué)員本人,C10則要求查閱某個(gè)評(píng)語(yǔ)是否被用于評(píng)分過(guò)程的用戶(hù)必須是提交該評(píng)語(yǔ)的評(píng)閱人。其次,分析其它場(chǎng)景的訪問(wèn)條件,發(fā)現(xiàn)訪問(wèn)條件C1~C8也與作業(yè)及評(píng)語(yǔ)的起源相關(guān),即與作業(yè)以及評(píng)語(yǔ)的演變歷史信息相關(guān)。因此,相應(yīng)的訪問(wèn)控制需求也能夠?qū)崿F(xiàn)為起源感知的訪問(wèn)控制策略。將這些訪問(wèn)條件實(shí)現(xiàn)為起源感知的訪問(wèn)控制策略,使得管理員能夠靈活地新增或調(diào)整與數(shù)據(jù)對(duì)象歷史相關(guān)的訪問(wèn)條件。例如,管理者可以很方便地為場(chǎng)景3添加一個(gè)新的訪問(wèn)條件“已經(jīng)評(píng)閱了三本作業(yè)的學(xué)員不能再評(píng)閱其它作業(yè)”。場(chǎng)景1則僅與用戶(hù)的角色相關(guān),不宜實(shí)現(xiàn)為起源感知的訪問(wèn)控制策略;場(chǎng)景8的訪問(wèn)條件雖僅與用戶(hù)角色相關(guān),但其所保護(hù)的對(duì)象卻是數(shù)據(jù)的起源,因此也是起源感知的訪問(wèn)控制需求。

        Table 4 A list of OTS scenarios

        為驗(yàn)證訪問(wèn)條件C2、C3、C6、C7、C8及C10,需引入若干新起源依賴(lài)類(lèi)型 (不在表6中),如表7的第2、5~7行所示。其中,GHwsub表示作業(yè)是加工submit的輸出;ReviewOn表示評(píng)語(yǔ)是對(duì)某個(gè)作業(yè)的評(píng)閱結(jié)果;ReviewOf表示評(píng)語(yǔ)由哪個(gè)評(píng)閱者創(chuàng)建。表6和表7中的起源依賴(lài)類(lèi)型都將影響起源感知系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì),即開(kāi)發(fā)者需要精心設(shè)計(jì)軟件體系結(jié)構(gòu)以回答相應(yīng)的起源問(wèn)題。

        Table 7 Dependency types of OTS

        步驟4設(shè)計(jì)軟件體系架構(gòu)?;诒?中的場(chǎng)景以及所識(shí)別的起源類(lèi)型,設(shè)計(jì)者可以定義OTS的軟件體系結(jié)構(gòu)模型,包括類(lèi)圖 (如圖6所示) 和狀態(tài)圖 (如圖7所示)。圖6包含一個(gè)用戶(hù)類(lèi)層次結(jié)構(gòu)和一個(gè)文檔類(lèi)層次結(jié)構(gòu)。其中,作業(yè)類(lèi)、評(píng)語(yǔ)類(lèi)和成績(jī)類(lèi)等均是文檔類(lèi)的子類(lèi)。一個(gè)用戶(hù)可以擁有零到多個(gè)文檔;一個(gè)作業(yè)可以有零到一個(gè)成績(jī)和零到多個(gè)評(píng)語(yǔ);一個(gè)成績(jī)可能僅包含相關(guān)作業(yè)的一部分評(píng)語(yǔ)。除文檔類(lèi)之外,其余六個(gè)類(lèi)對(duì)應(yīng)于表6給出的實(shí)體類(lèi)型AG和AT。文檔類(lèi)的每個(gè)派生類(lèi)重載了文檔類(lèi)的方法,實(shí)現(xiàn)各自的業(yè)務(wù)操作。例如,方法Hw.create(…)實(shí)現(xiàn)了業(yè)務(wù)操作upload,而Rw.create(…)則實(shí)現(xiàn)了業(yè)務(wù)操作review。Grd.create(…)創(chuàng)建空白成績(jī)單,而Grd.append(…)負(fù)責(zé)將相關(guān)的評(píng)語(yǔ)附加到成績(jī)單中。Grd.create(…)和Grd.append(…)共同實(shí)現(xiàn)了Hw.Grade(…)。類(lèi)方法的詳細(xì)規(guī)約是識(shí)別簡(jiǎn)單依賴(lài)類(lèi)型的重要依據(jù),但為了保證模型的可讀性,圖6沒(méi)有顯式地給出類(lèi)方法的詳細(xì)規(guī)約。

        Figure 6 Class diagram of OTS 圖6 OTS類(lèi)圖

        Figure 7 State diagram of OTS 圖7 OTS狀態(tài)圖

        圖7是OTS系統(tǒng)中作業(yè)類(lèi)的狀態(tài)圖。作業(yè)有六個(gè)狀態(tài):Uploaded、Submitted、Review=1、Review=2、Review=3以及Graded。上傳后的作業(yè)可被替換任意次直到其被提交為止。提交后的作業(yè)可被評(píng)閱至少兩次、至多三次,直到其最終被評(píng)分為止。狀態(tài)圖描述了作業(yè)類(lèi)的行為,是識(shí)別依賴(lài)類(lèi)型組裝約束的重要依據(jù)。如,替換操作只能發(fā)生在作業(yè)提交之前,即組裝ReplacementOn(Hw,Hw)SubmissionOn(Hw,Hw)不合法。

        步驟5細(xì)化實(shí)體類(lèi)型和依賴(lài)類(lèi)型,精化TPM模型?;谲浖w系結(jié)構(gòu)模型,可進(jìn)一步精化部分實(shí)體類(lèi)型,特別是加工類(lèi)型,根據(jù)方法簽名定義簡(jiǎn)單依賴(lài)類(lèi)型,根據(jù)狀態(tài)圖定義依賴(lài)類(lèi)型組裝約束,定義與表6和表7中的復(fù)雜依賴(lài)類(lèi)型對(duì)應(yīng)的組裝規(guī)則。例如,一些被識(shí)別為加工類(lèi)型的業(yè)務(wù)操作,如表5中的upload,被實(shí)現(xiàn)為體系結(jié)構(gòu)中的Hw.create(…)方法。開(kāi)發(fā)者需精化表6中的加工類(lèi)型以及表6和表7中的相關(guān)簡(jiǎn)單依賴(lài)類(lèi)型。假設(shè)方法Hw.create(…)以作業(yè)內(nèi)容(任意長(zhǎng)的字符串(String))為輸入,以作業(yè)對(duì)象為輸出,則可以導(dǎo)出表8所示的簡(jiǎn)單類(lèi)型T20~T22。若一個(gè)業(yè)務(wù)操作最終被實(shí)現(xiàn)為體系結(jié)構(gòu)中的多個(gè)相互調(diào)用的方法,則相應(yīng)的加工類(lèi)型就要被精化為多個(gè)加工類(lèi)型,原來(lái)的簡(jiǎn)單依賴(lài)類(lèi)型將變?yōu)閺?fù)雜依賴(lài)類(lèi)型。

        Table 8  Primitive dependencies

        表6和表7中的復(fù)雜依賴(lài)類(lèi)型可被精化為簡(jiǎn)單依賴(lài)類(lèi)型的組合。例如,依賴(lài)類(lèi)型OwnedBy表示作業(yè)與其所有者之間的依賴(lài)關(guān)系。設(shè)計(jì)者可以定義與復(fù)雜依賴(lài)類(lèi)型對(duì)應(yīng)的組裝規(guī)則,來(lái)決定如何利用系統(tǒng)中記錄的簡(jiǎn)單依賴(lài)類(lèi)型驗(yàn)證這種關(guān)系。例如,可以規(guī)定成功執(zhí)行作業(yè)類(lèi)的create、replace或submit方法的用戶(hù)是作業(yè)的所有者。前文將這種所有關(guān)系定義為依賴(lài)類(lèi)型T17,考慮到體系結(jié)構(gòu)設(shè)計(jì)完成之后,部分加工類(lèi)型如上傳 (upload) 和替換 (replace) 被分別精化為Hw.create和 Hw.replace,相應(yīng)地構(gòu)成T17的部分依賴(lài)類(lèi)型,如T1~T6均需要精化。這樣就可在設(shè)計(jì)體系結(jié)構(gòu)的過(guò)程中將表6 和表7 中的任意復(fù)雜依賴(lài)類(lèi)型精化為一系列簡(jiǎn)單依賴(lài)類(lèi)型的組合。

        依賴(lài)類(lèi)型的組合必須滿(mǎn)足給定約束。狀態(tài)圖(如圖7所示) 是獲取這種組合約束的重要來(lái)源。如作業(yè)在上傳之后、提交之前可被修改多次,但只能在提交之后被評(píng)閱,評(píng)閱最多只能三次且最少被評(píng)閱兩次之后才能被評(píng)分。如前文所述,可采用OCL形式地描述必須滿(mǎn)足的組裝約束。事實(shí)上,采用OCL描述的組裝約束可在建模過(guò)程中得到自動(dòng)驗(yàn)證,以保證所定義的復(fù)雜依賴(lài)類(lèi)型滿(mǎn)足相關(guān)的組裝約束。這需要開(kāi)發(fā)相應(yīng)的起源模型建模工具,這是本文的下一步研究工作。

        步驟6精化并驗(yàn)證起源感知的訪問(wèn)控制策略。使用表6和表7中的依賴(lài)類(lèi)型以及它們的逆,可形式地定義表9中的訪問(wèn)控制策略,實(shí)現(xiàn)與起源數(shù)據(jù)相關(guān)的訪問(wèn)條件C1~C8以及C10。本文采用一階邏輯形式地描述訪問(wèn)控制策略[18]。

        Table 9 PBAC polices in OTS

        表9中的u、h、g和r分別代表用戶(hù)(User)、作業(yè)(Homework)、成績(jī) (Grade) 以及評(píng)語(yǔ) (Review) 等實(shí)體類(lèi)型的實(shí)例,P是表示用戶(hù)u可以針對(duì)作業(yè)或者作業(yè)評(píng)語(yǔ)進(jìn)行某種操作的謂詞。每個(gè)起源依賴(lài)類(lèi)型都實(shí)例化為一個(gè)從結(jié)果節(jié)點(diǎn)到起因節(jié)點(diǎn)的依賴(lài)關(guān)系,例如u∈OwnedBy(h) 表示作業(yè)h的所有者是用戶(hù)u。

        注意,本文是針對(duì)業(yè)務(wù)操作設(shè)計(jì)表9中的形式化訪問(wèn)控制策略。在實(shí)際系統(tǒng)中,每個(gè)業(yè)務(wù)操作將被實(shí)現(xiàn)為一系列體系結(jié)構(gòu)構(gòu)件的方法。因此,在系統(tǒng)實(shí)現(xiàn)階段,開(kāi)發(fā)者必須進(jìn)一步精細(xì)化表9中的概念層訪問(wèn)控制策略,得到與具體構(gòu)件方法相關(guān)聯(lián)的實(shí)現(xiàn)層訪問(wèn)控制策略[20,21]。

        6相關(guān)工作和討論

        起源數(shù)據(jù)常被用于驗(yàn)證數(shù)據(jù)對(duì)象的來(lái)源、自動(dòng)重現(xiàn)實(shí)驗(yàn)結(jié)果等[3,4],其安全性至關(guān)重要[8]。起源數(shù)據(jù)具有迥異于傳統(tǒng)數(shù)據(jù)的特點(diǎn):一方面起源數(shù)據(jù)代表數(shù)據(jù)的歷史,具有語(yǔ)義上的不可變性;另一方面起源數(shù)據(jù)往往呈現(xiàn)為復(fù)雜的有向圖[8]。起源數(shù)據(jù)的特殊性導(dǎo)致傳統(tǒng)的訪問(wèn)控制模型、策略規(guī)約語(yǔ)言乃至實(shí)施框架都不再適用。研究者提出了一系列起源感知的訪問(wèn)控制模型[10~14]。在研究起源感知的訪問(wèn)控制模型的過(guò)程中,研究者發(fā)現(xiàn)復(fù)雜的起源圖導(dǎo)致訪問(wèn)控制策略規(guī)約困難,并提出了一系列靜態(tài)或動(dòng)態(tài)的打包技術(shù)封裝訪問(wèn)控制策略中引用的起源數(shù)據(jù)[12~14,16]。特別地,Cadenhead T等人[12]采用正則表達(dá)式表示起源問(wèn)題,Park J 等人[13,14]進(jìn)一步為正則表達(dá)式的起源問(wèn)題進(jìn)行命名,稱(chēng)為依賴(lài)名,并使用依賴(lài)名規(guī)約訪問(wèn)控制策略,提高策略規(guī)約的效率。但是,這些工作都沒(méi)有從軟件開(kāi)發(fā)過(guò)程的角度考察起源感知訪問(wèn)控制策略的分析和規(guī)約問(wèn)題,沒(méi)有深入探討由正則表達(dá)式所表示的起源問(wèn)題以及相應(yīng)的依賴(lài)名與軟件概念模型的關(guān)系。本文則引入抽象的起源模型—TPM,屏蔽底層起源圖的復(fù)雜性,明確定義了TPM與系統(tǒng)概念模型的關(guān)系,為開(kāi)發(fā)者在軟件分析和設(shè)計(jì)過(guò)程中基于UML模型分析起源感知的訪問(wèn)控制策略提供系統(tǒng)化的指導(dǎo)。

        起源感知系統(tǒng)通常包含起源數(shù)據(jù)采集機(jī)制、起源數(shù)據(jù)模型以及起源數(shù)據(jù)存儲(chǔ)和查詢(xún)基礎(chǔ)設(shè)施等三個(gè)要素[22]。很多起源感知系統(tǒng)針對(duì)不同領(lǐng)域的需要采用了獨(dú)特的起源數(shù)據(jù)模型[22,23]。近年來(lái),為實(shí)現(xiàn)跨系統(tǒng)的起源數(shù)據(jù)共享,起源數(shù)據(jù)研究團(tuán)體提出了一個(gè)開(kāi)放起源數(shù)據(jù)模型標(biāo)準(zhǔn)OPM (Open Provenance Model)[17]。OPM體現(xiàn)了目前研究領(lǐng)域內(nèi)的最大共識(shí)。OPM明確了起源數(shù)據(jù)的內(nèi)涵,即影響數(shù)據(jù)最終狀態(tài)的各種實(shí)體以及實(shí)體之間的因果關(guān)系。OPM還定義了諸如制品、加工和代理等與應(yīng)用無(wú)關(guān)的實(shí)體類(lèi)型以及wasGeneratedBy、wasControlledBy和Used等與應(yīng)用無(wú)關(guān)的依賴(lài)類(lèi)型。W3C擴(kuò)展了OPM,在2012年6月發(fā)布了一個(gè)面向互聯(lián)網(wǎng)應(yīng)用的起源數(shù)據(jù)相關(guān)標(biāo)準(zhǔn)族——PROV-DM[24]。相對(duì)于OPM以及PROV-DM等與應(yīng)用無(wú)關(guān)的開(kāi)放起源模型,本文提出的TPM是對(duì)特定應(yīng)用的起源數(shù)據(jù)的抽象,捕獲特定應(yīng)用的起源語(yǔ)義,更易于被領(lǐng)域?qū)<液烷_(kāi)發(fā)者所理解和操作,允許策略開(kāi)發(fā)者在軟件開(kāi)發(fā)過(guò)程中識(shí)別、規(guī)約和精化起源感知的訪問(wèn)控制策略。仔細(xì)檢查可以發(fā)現(xiàn),本文提出的TPM與OPM兼容,是對(duì)OPM的一種擴(kuò)展,以支持特定應(yīng)用的開(kāi)發(fā)。TPM不但包含與應(yīng)用無(wú)關(guān)的起源數(shù)據(jù)基本實(shí)體類(lèi)型和基本依賴(lài)類(lèi)型,TPM還包括與特定應(yīng)用相關(guān)的起源數(shù)據(jù)實(shí)體類(lèi)型和起源依賴(lài)類(lèi)型。特別地,TPM允許開(kāi)發(fā)者通過(guò)組裝的方式定義復(fù)雜起源依賴(lài)類(lèi)型。本文給出相應(yīng)的基于上下文的起源模型組裝建模語(yǔ)言。

        安全性是軟件應(yīng)用的一個(gè)重要質(zhì)量屬性。近年來(lái),以安全軟件系統(tǒng)開(kāi)發(fā)技術(shù)、方法和工具為研究目標(biāo)的安全工程已經(jīng)成為軟件工程學(xué)科的一個(gè)重要分支[25,26]。安全工程認(rèn)為應(yīng)該從軟件分析和設(shè)計(jì)之初就開(kāi)始分析和設(shè)計(jì)軟件系統(tǒng)的安全性,并在整個(gè)軟件開(kāi)發(fā)過(guò)程中對(duì)軟件安全性分析和實(shí)現(xiàn)給予系統(tǒng)化的支持。本文關(guān)注安全性的一個(gè)特殊方面——訪問(wèn)控制,實(shí)踐了安全工程的思想。在起源感知系統(tǒng)的分析和設(shè)計(jì)過(guò)程中分析起源感知的訪問(wèn)控制策略,解決了起源數(shù)據(jù)的復(fù)雜性帶來(lái)的挑戰(zhàn)。此外,Miles S等人[5]提出了一個(gè)起源感知系統(tǒng)的開(kāi)發(fā)方法學(xué) (PrIMe)。PrIMe 以用例和場(chǎng)景 (起源問(wèn)題) 作為輸入,識(shí)別需要記錄起源的數(shù)據(jù)對(duì)象,調(diào)整系統(tǒng)的體系結(jié)構(gòu),使得系統(tǒng)能夠恰當(dāng)?shù)夭东@起源數(shù)據(jù),回答起源問(wèn)題。但是,PrIMe 沒(méi)有考慮如何開(kāi)發(fā)起源感知的訪問(wèn)控制策略的問(wèn)題,也沒(méi)有在設(shè)計(jì)層捕獲抽象的起源模型。

        7結(jié)束語(yǔ)

        數(shù)據(jù)起源與傳統(tǒng)數(shù)據(jù)和其它元數(shù)據(jù)的不同之處在于其具有不可變性且呈現(xiàn)為復(fù)雜的有向圖。起源圖中的單個(gè)節(jié)點(diǎn)、邊以及蘊(yùn)含應(yīng)用特定的起源依賴(lài)語(yǔ)義的子圖均可用于定義訪問(wèn)控制策略。起源圖的復(fù)雜性使得利用起源數(shù)據(jù)規(guī)約訪問(wèn)控制策略變得非常困難。本文采用“抽象”的方法解決起源圖復(fù)雜性所帶來(lái)的挑戰(zhàn),提出一種在軟件分析和設(shè)計(jì)過(guò)程中分析和規(guī)約起源感知訪問(wèn)控制策略的方法。使用此方法,開(kāi)發(fā)者首先基于軟件的分析和設(shè)計(jì)模型,如場(chǎng)景列表、類(lèi)圖以及狀態(tài)圖等UML模型,建立抽象的起源模型;其次開(kāi)發(fā)者進(jìn)一步基于抽象的起源模型規(guī)約和精化起源感知的訪問(wèn)控制策略。其中起源模型是底層復(fù)雜起源圖的概念抽象,是在較高抽象層次上高效地規(guī)約起源感知的訪問(wèn)控制策略的關(guān)鍵。本文采用了一個(gè)企業(yè)在線培訓(xùn)系統(tǒng)案例來(lái)說(shuō)明所提出的方法。下一步工作包括在更多的案例中評(píng)估本文所提出的方法并研制TPM建模工具原型。

        參考文獻(xiàn):

        [1]Yang Fu-qing, Lü Jian, Mei Hong. Internetware architecture: An architecture centered approach[J].Sciences in China(E):Information Science,2008,38(6):1-11. (in Chinese)

        [2]Mei Hong, Cao Dong-gang.Software trustworthiness:Challenges posed by the Internte[J].Communications of the CCF,2010,6(2):20-27. (in Chinese)

        [3]Muniswamy-Reddy,Kiran-Kumar.Foundations for provenance-aware systems [D]. Cambridge,Massachusetts:Harvard University,2010.

        [4]Buneman P, Khanna S, Tan W C. Data provenance: Some basic issues[C]//Proc of the 20th Conference on Foundations of Software Technology and Theoretical Computer Science,2000:87-93.

        [5]Miles S, Groth P, Munroe S, et al. PrIME:A methodology for developing provenance-aware applications [J]. ACM Transactions on Software Engineering and Methodology,2011,20(3):1-42.

        [6]Shen Zhi-hong,Zhang Xiao-lin. Data provenance model in semantic web environment-An overview [J]. New Technology of Library and Information Service,2011 (4):1-8.(in Chinese)

        [7]Li Bin, Wang Yi-fei, Pei Ji-sheng, et al. Business process checking based on provenance data [J]. Journal of Tsinghua University (Science and Technology),2013,53(12):1768-1776.(in Chinese)

        [8]Braun U,Shinnar A,Seltzer M. Secure provenance[C] //Proc of the 3rd USENIX Workshop on Hot Topics in Security Berkeley,2008:1-5.

        [9]Hasan R, Sion R, Winslett M. Introducing Secure provenance:Problems and challenges[C] //Proc of the 2007 ACM Workshop on Storage Security and Survivability(StorageSS’07),2007:13-18.

        [10]Braun U,Shinnar A. A security model for provenance[R]. Technical Report TR-04-06.Cambridge:Harvard University,2006.

        [11]Ni Q,Xu S,Bertino E,et al. An access control language for a general provenance model[C]//Proc of SDM ’09,2009:68-88.

        [12]Cadenhead T,Khadilkar V. A language for provenance access control[C]//Proc of CODASPY ’11,2011:133-144.

        [13]Park J,Nguyen D,Sandhu R. A provenance-based access control model [C]//Proc of the IEEE 10th Annual Conference on Privacy,Security and Trust,2012:1.

        [14]Nguyen D,Park J,Sandhu R. Dependency path patterns as the foundation of access control in provenance-aware systems[C]//Proc of TAPP ’2012,2012:1.

        [15]Sandhu R,Samarati P. Access control:Principle and practice [J]. IEEE Communications Magazine,1994,32(9):40-48.

        [16]Syalim A,Hori Y,Sakurai K. Grouping provenance information to improve efficiency of access control [C]//Proc of the 3rd International Conference and Workshops on Advances in Information Security and Assurance,2009:51-59.

        [17]Moreau L,Clifford B,Freire J,et al. The open provenance model-core specification (v1.1) [J]. Future Generation Computer Systems,2009,27(6):743-756.

        [18]Halpern J Y,Weissman V. Using first-order logic to reason about policies[J]. ACM Transactions on Information System Security,2008,11(4):1-21.

        [19]Richters M,Gogolla M. OCL:Syntax,Semantics,and tools[C]//Proc of Object Modeling with the OCL,2002:42-68.

        [20]Sun L, Huang G, Sun Y, et al. An approach for generation of J2EE access control configurations from requirements specification[C]//Proc of QSIC’08,2008:87-96.

        [21]Sun L,Huang G. Towards accuracy of role-based access control configurations in component-based systems[J]. Jounal of Systems Architecture,2011,57(3):314-326.

        [22]Freire J,Koop D,Santos E,et al. Provenance for computational tasks:A survey [J]. Computing in Science and Engineering,2008,10(3):11-21.

        [23]Marinho A,Murta L,Werner C,et al. Provmanager:A provenance management system for scientific workflows [J]. Concur-

        rency and Computation:Practice and Experience,2012,24(13):1513-1530.

        [24]Belhajjame K,B’Far R,Cheney J,et al. Prov-dm:The prov data model [R]. WD-prov-dm-20120724.W3C,2012.

        [25]Fabian B,Gürses S,Heisel M,et al. A comparison of security requirements engineering methods [J]. Requirements Engineering,2010,15(1):7-40.

        [26]Strembeck M. Scenario-driven role engineering [J]. IEEE Security & Privacy,2010,8(1):28-35.

        參考文獻(xiàn):附中文

        [1]楊芙清,呂建,梅宏. 網(wǎng)構(gòu)軟件技術(shù)體系:一種以體系結(jié)構(gòu)為中心的途徑[J]. 中國(guó)科學(xué)E輯:信息科學(xué),2008,38(6):1-11.

        [2]梅宏,曹東剛. 軟件可信性:互聯(lián)網(wǎng)帶來(lái)的挑戰(zhàn)[J]. 計(jì)算機(jī)學(xué)會(huì)通訊, 2010,6(2):20-27.

        [6]沈志宏,張曉林. 語(yǔ)義網(wǎng)環(huán)境下數(shù)據(jù)溯源表達(dá)模型研究綜述[J]. 現(xiàn)代圖書(shū)情報(bào)技術(shù),2011 (4):1-8.

        [7]李斌,王藝霏,裴繼升,等. 基于溯源數(shù)據(jù)的業(yè)務(wù)流程合規(guī)性檢測(cè)[J]. 清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,53(12):1768-1776.

        孫連山(1977-),男,黑龍江集賢人,博士,副教授,CCF會(huì)員(E200031404M),研究方向?yàn)榉枪δ苄枨?、軟件體系結(jié)構(gòu)和軟件安全工程。E-mail:sunlianshan@sina.com

        SUN Lian-shan,born in 1977,PhD,associate professor,CCF member(E200031404M),his research interests include nonfunctional requirements,software architecture, and secure software engineering.

        猜你喜歡
        安全工程訪問(wèn)控制起源
        圣誕節(jié)的起源
        奧運(yùn)會(huì)的起源
        清明節(jié)的起源
        萬(wàn)物起源
        通商達(dá)天下 僑心聯(lián)四海 南通警僑聯(lián)動(dòng)打造“海外安全工程”新模式
        ONVIF的全新主張:一致性及最訪問(wèn)控制的Profile A
        動(dòng)態(tài)自適應(yīng)訪問(wèn)控制模型
        淺析云計(jì)算環(huán)境下等級(jí)保護(hù)訪問(wèn)控制測(cè)評(píng)技術(shù)
        大數(shù)據(jù)平臺(tái)訪問(wèn)控制方法的設(shè)計(jì)與實(shí)現(xiàn)
        錫盟牧區(qū)飲水安全工程“十三五”提質(zhì)增效探究
        国产剧情一区二区三区在线| 日本精品一区二区三本中文| 人妻丰满熟妇av一区二区 | 国产福利片无码区在线观看| av免费在线手机观看| 蜜桃视频国产一区二区| 边喂奶边中出的人妻| 97se亚洲国产综合自在线图片| 久久久久无码中文字幕| 99福利网| 欧美深夜福利视频| 美利坚合众国亚洲视频 | 91乱码亚洲精品中文字幕| 在线视频中文字幕一区二区三区| 亚洲国产成人片在线观看| 三上悠亚免费一区二区在线| 伊人久久婷婷综合五月97色| 少妇被粗大进猛进出处故事| 区二区三区玖玖玖| 日韩精品电影在线观看| 加勒比久草免费在线观看| 中文字幕一区二区三区四区五区| 搡老熟女中国老太| 国产精品自产拍在线观看中文| av有码在线一区二区三区| 亚洲精品乱码久久久久久不卡| 日韩电影一区二区三区| 9丨精品国产高清自在线看| 日本高清一区二区三区在线| 国产av无码专区亚洲av男同| 人与禽交av在线播放| 国产香蕉尹人综合在线观| 亚洲大片一区二区三区四区| 在线麻豆精东9制片厂av影现网 | 无码粉嫩虎白一线天在线观看| 久久久久久久尹人综合网亚洲| 亚洲国产精品自拍成人| 成年女人a毛片免费视频| 日本欧美国产精品| 日本97色视频日本熟妇视频| 亚洲成av人在线观看网址|