摘要:隨著計算機應(yīng)用的不斷發(fā)展,軟件已滲透到國民經(jīng)濟和國防建設(shè)的各個領(lǐng)域,在信息社會中發(fā)揮著至關(guān)重要的作用。但是,軟件產(chǎn)品生產(chǎn)現(xiàn)狀仍然不能令人滿意,主要體現(xiàn)在軟件質(zhì)量得不到保證。為了解決這個問題,業(yè)界提出可信體系結(jié)構(gòu)的概念,目前,可信體系結(jié)構(gòu)發(fā)展中還存在一些亟待研究解決的問題:理論研究相對滯后,可信計算的理論研究落后于技術(shù)開發(fā)。迫切需要研究如下的問題:可信環(huán)境的構(gòu)造與評估;軟件系統(tǒng)可信性評價方法。 

  關(guān)鍵詞:可信體系結(jié)構(gòu);可信環(huán)境的構(gòu)造與評估;可信體系結(jié)構(gòu)的評估方法;信任度;可信計算環(huán)境測評 

  中圖分類號:TP311文獻標(biāo)識碼:A文章編號:1009-3044(2011)21-5124-02 

  1 概述 

  近年來,軟件的可信性成為軟件質(zhì)量的焦點,對軟件可信性的分析、度量和應(yīng)用支撐成為熱點問題.可信軟件是指正確、安全和可靠的軟件.目前軟件的可靠性和安全性不能令人滿意.軟件設(shè)計缺陷、軟件系統(tǒng)被惡意攻擊都給計算機系統(tǒng)的正常運行帶來了不良的影響.如何在軟件的開發(fā)和運行中保證軟件具有高可信性,已成為軟件理論和技術(shù)的重要研究方向。 

  可信軟件體系結(jié)構(gòu)的研究。 

  所謂計算機系統(tǒng)可信性是對系統(tǒng)所提供服務(wù)的信任度,應(yīng)該具有如下屬性: 

  可用性:系統(tǒng)隨時可用; 

  可靠性:系統(tǒng)服務(wù)具有連續(xù)性; 

  防危性:不會給環(huán)境帶來災(zāi)難性的后果; 

  保密性:不會發(fā)生非法的信息泄露; 

  完整性:不會發(fā)生不適當(dāng)修改信息的現(xiàn)象; 

  可維護性:進行修改和進入正常態(tài)的能力, 在上述屬性中有時把可用性、完整性和保密性綜合考慮統(tǒng)稱為安全性。 

  計算機系統(tǒng)可信性研究已有較長的歷史但主要集中在可靠性和安全性研究方面,可靠性研究起步早成果豐富,如計算機系統(tǒng)軟件和硬件的可靠性評價模型、提高計算機系統(tǒng)可靠性的容錯技術(shù)和測試技術(shù)等,計算機系統(tǒng)的安全性研究主要表現(xiàn)在惡意軟件的入侵防御以及信息保密等環(huán)節(jié),對軟件系統(tǒng)可信性評價研究主要集中在軟件系統(tǒng)可靠性度量方面,采用的方法往往直接使用計算機硬件系統(tǒng)的評價模型如Jlinski和Moranda提出的基于指數(shù)失效時間模型。Goel和Okumoto 提出的非齊次泊松過程的軟件可靠性模型。然而軟件系統(tǒng)中各成分還不能像硬件那樣彼此可拆分其耦合度一般比較高所以不能直接根據(jù)各個構(gòu)成元素的可信性評價系統(tǒng)的可信度。 

  在可信軟件技術(shù)研究中,建立完善的可信軟件的形式化理論體系將為量化、推導(dǎo)和驗證軟件系統(tǒng)的可信性提供理論基礎(chǔ),建立有效的可信軟件工程方法學(xué)將為構(gòu)造高可信的軟件系統(tǒng)提供高效的開發(fā)技術(shù),而研發(fā)功能完備的高可信軟件開發(fā)和運行支撐平臺將為可信軟件的開發(fā)、運行、以及監(jiān)測和評估提供技術(shù)支持。 

  2 可信環(huán)境的構(gòu)造與評估 

  2.1 可信環(huán)境的數(shù)學(xué)理論與信任傳遞理論 

  研究支持可信計算的數(shù)學(xué)模型、形式化模型,構(gòu)建可信計算的理論體系;研究可信網(wǎng)絡(luò)計算的形式化模型,形成完整性保護的理論體系;研究信任鏈的建立與信任的傳遞機理,重點研究支持信任鏈建立與擴展的無干擾模型。 

  2.2 可信計算環(huán)境構(gòu)造機理及方法 

  研究基于可信硬件層靈活擴展信任邊界的體系結(jié)構(gòu),以及可信計算平臺的完整性收集、度量、驗證的體系結(jié)構(gòu)和網(wǎng)絡(luò)連接與認證的體系結(jié)構(gòu);研究可信計算與虛擬技術(shù)結(jié)合的新型可信虛擬平臺架構(gòu),重點探索基于可信平臺模塊的虛擬平臺安全體系結(jié)構(gòu)以及可信平臺模塊的虛擬化技術(shù);研究可信的安全多方計算環(huán)境的構(gòu)造方法。 

  2.3 可信計算環(huán)境測評 

  研究適用于可信計算平臺的安全評估模型;研究可信平臺模塊協(xié)議檢測方法,包括可信計算平臺安全功能測試、標(biāo)準符合性測試、穿透性測試等技術(shù),對認證、授權(quán)和平臺證明協(xié)議的正確性、安全性和性能的驗證提供支持。 

  3 幾種軟件系統(tǒng)可信性評價方法 

  3.1 SOA軟件系統(tǒng)可信性評價方法 

  所謂面向服務(wù)的軟件體系結(jié)構(gòu)(SOA)是一種充分利用Internet技術(shù)來滿足企業(yè)對不斷增長的業(yè)務(wù)運營模式需求的應(yīng)用框架,該模式需要具有靈活、安全和無逢地處理異構(gòu)、異質(zhì)的內(nèi)、外資源的能力,基于SOA代數(shù)模型,討論如何通過建立SOA的可信范式對SOA可信屬性建模。如果一個服務(wù)代數(shù)表達式中沒有出現(xiàn)“活鎖”和“死鎖”,則稱該服務(wù)是可信服務(wù),所形成的代數(shù)表達式稱為協(xié)同可信范式.進程代數(shù)對可信SOA的建模方法進行研究,通過對傳統(tǒng)的進程代數(shù)擴展,提出多種服務(wù)組合運算,建立SOA的代數(shù)模型,并在此基礎(chǔ)上研究SOA的可信設(shè)計問題,為可信SOA設(shè)計提供理論支持。 

  3.2 協(xié)同推薦機制來評估并選取可信軟件服務(wù) 

  基于互聯(lián)網(wǎng)的軟件開發(fā)模式為構(gòu)建面向用戶日常生活的軟件系統(tǒng)提供了極大的便利。開放的、動態(tài)的在線開發(fā)方式允許具備一定專業(yè)知識的軟件開發(fā)者從網(wǎng)絡(luò)中自行選取能夠滿足相應(yīng)功能需求的軟件服務(wù),進行組合、協(xié)作,以完成既定的任務(wù)網(wǎng)構(gòu)軟件,就是這樣一類開放軟件系統(tǒng)。它是動態(tài)網(wǎng)絡(luò)環(huán)境下分布式系統(tǒng)的一種抽象,以軟件構(gòu)件技術(shù)為支撐,通過自主的分布式軟件動態(tài)組合以及在線演化來構(gòu)筑,能夠滿足不同的用戶需求。為了保障這類開放軟件系統(tǒng)的可靠性,使用戶獲得較為滿意的結(jié)果,選擇可信組件是首要的步驟。而由于系統(tǒng)集成方和組件開發(fā)者角色和利益分離,集成方常常無法通過獲得組件的開發(fā)源碼進行完備測試來度量軟件可靠性;并且,當(dāng)系統(tǒng)無法滿足當(dāng)前用戶需求而進行動態(tài)的在線演化時,也沒有足夠的時間可以在進行組件替換之前進行大量的性能測試。協(xié)同推薦機制提供了一種相對靈活的軟件可靠性評估策略,其基本思想是:考慮到開放環(huán)境中可能缺乏完整的信息來確認(verification)軟件服務(wù)的可靠性,在對目標(biāo)軟件進行可信評估時,可以通過收集大量歷史用戶的使用信息反饋來驗證(validation)其質(zhì)量。它適用于使用日常應(yīng)用軟件系統(tǒng)的用戶,不需要軟件能夠絕對地按照軟件工程的需求規(guī)約運行,而是只要“足夠好”地滿足個性化需求即可,即允許系統(tǒng)在滿足功能需求的基礎(chǔ)上,在可容忍的范圍內(nèi)達到非功能的需求;诖怂枷耄延幸恍┫嚓P(guān)工作通過設(shè)計合理的協(xié)同推薦機制來評估并選取可信軟件服務(wù)。 

  3.3 支持軟件可信演化軟件可信是指軟件行為符合用戶預(yù)期、滿足用戶的需求 

  傳統(tǒng)的形式化證明、測試等軟件可信保證手段均在部署前實施,需要基于對未來運行環(huán)境的某些假設(shè)。然而,隨著軟件應(yīng)用模式的變革,軟件的環(huán)境不再是封閉靜態(tài)的,它有可能超出開發(fā)階段的預(yù)期。例如,對于具備長生命周期的超大規(guī)模軟件系統(tǒng)以及許多與物理世界緊耦合的分布式實時嵌入(distributed real-time embedded,簡稱DRE)系統(tǒng),很難在開發(fā)階段即對其未來運行環(huán)境做出精確預(yù)測。 環(huán)境是動態(tài)變化的,軟件需要具備適應(yīng)能力;對于開發(fā)階段未預(yù)期的環(huán)境及停機維護代價高昂的系統(tǒng),這種環(huán)境適應(yīng)能力更需要能夠在線調(diào)整。我們稱以可信為目標(biāo)的軟件演化為可信演化,而環(huán)境適應(yīng)能力的在線調(diào)整是可信演化的重要內(nèi)容。期望軟件完全自主地實施這種演化尚不現(xiàn)實,它往往需要維護人員、其他軟件實體等第三方的參與,如何在軟件工程層面為適應(yīng)能力在線調(diào)整提供使能機制。軟件的環(huán)境適應(yīng)能力可細分為感知、決策及執(zhí)行的能力在感知到環(huán)境發(fā)生變化后,軟件做出相應(yīng)決策,進而執(zhí)行方法調(diào)用、參數(shù)改變或者結(jié)構(gòu)調(diào)整等動作。在許多情況下,為了調(diào)整軟件的適應(yīng)能力,我們只需對上述過程作部分修改。 

  3.4 基于反饋的信任形成及決策機制 

  從網(wǎng)構(gòu)軟件的基本元素“軟件服務(wù)”出發(fā),借助信任評估的思想來探討軟件的可信性問題的解決途徑:在協(xié)同方式的層次上,提出一種面向網(wǎng)構(gòu)軟件體系結(jié)構(gòu)的信任驅(qū)動的服務(wù)選取機制ISAOT 在協(xié)同方式上支持服務(wù)的動態(tài)綁定和選取,在服務(wù)的選取上以信任為基礎(chǔ)進行決策。ISAOT 基于一類可動態(tài)連接軟件服務(wù)的智能連接子――虛服務(wù)工作,提供一個通用的基于ontology 的應(yīng)用需求及信任演化策略描述規(guī)范,用于解決多樣化應(yīng)用需求難以描述的問題,使得連接子可理解動態(tài)變化的應(yīng)用需求,并觸發(fā)信任演化行為,利用開放協(xié)同環(huán)境中廣泛使用的信任概念及其相關(guān)技術(shù),采用一種基于反饋的信任形成及決策機制,并通過一個信任驅(qū)動的服務(wù)選取算法,促使連接子動態(tài)選取最為可信的服務(wù),滿足系統(tǒng)的動態(tài)需求;以信任為通用的驅(qū)動機制,給出了一個面向網(wǎng)構(gòu)軟件體系結(jié)構(gòu)的實現(xiàn)框架。ISAOT 將闡述網(wǎng)構(gòu)軟件隨應(yīng)用需求變化自主選取服務(wù)所需的相關(guān)原理、模型和方法,展示一個清晰的可信網(wǎng)構(gòu)軟件開發(fā)模型,并詳細討論其相關(guān)支撐設(shè)施的功能與實現(xiàn)機制。 

  4 結(jié)論 

  總之對軟件可信性的進行系統(tǒng)綜合的度量評估,在軟件設(shè)計開發(fā)過程中有效地跟蹤和控制軟件可信度是一個重要且亟待解決的研究課題。 

  參考文獻: 

  [1] 趙會群,孫晶.一種SOA軟件系統(tǒng)可信性評價方法研究[J].計算機學(xué)報,2010,,33(5):2-9. 

  [2] 趙會群,孫晶.面向服務(wù)的可信軟件體系結(jié)構(gòu)代數(shù)模型[J].計算機學(xué)報,2010,3(11):3-10. 

  [3] 文靜,王懷民,應(yīng)時,等.支持運行監(jiān)控的可信軟件體系結(jié)構(gòu)設(shè)計方法[J].計算機學(xué)報,2010,33(12):1-14. 

  [4] 潘靜,徐鋒,呂建.面向可信服務(wù)選取的基于聲譽的推薦者發(fā)現(xiàn)方法[J].軟件學(xué)報,2010,21(2):1-14. 

  [5] 丁博,王懷民,史殿習(xí),等.一種支持軟件可信演化的構(gòu)件模型[J].軟件學(xué)報,2011,21(1):1-13. 

  [6] 王遠,呂建,徐鋒,等.一種面向網(wǎng)構(gòu)軟件體系結(jié)構(gòu)的信任驅(qū)動服務(wù)選取機制[J].軟件學(xué)報,2008,19(6):2-10. 

  [7] 曾晉,孫海龍,劉旭東,鄧婷,等.基于服務(wù)組合的可信軟件動態(tài)演化機制[J].軟件學(xué)報,2010,21(2):1-16. 

  [8] 呂建,陶先平,馬曉星,等.基于Agent 的網(wǎng)構(gòu)軟件模型研究[J].中國科學(xué)(E輯),2005,35(12):1-21.