国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種可信密碼模塊的測試用例生成方法及其測試系統的制作方法

      文檔序號:6463368閱讀:230來源:國知局

      專利名稱::一種可信密碼模塊的測試用例生成方法及其測試系統的制作方法
      技術領域
      :本發(fā)明涉及一種嵌入式系統的測試方法及其系統,尤其涉及一種可信密碼模塊的測試用例生成方法及其測試系統,屬于計算機
      技術領域
      。
      背景技術
      :可信計算平臺技術是一種通過硬件信任根解決安全問題的新技術,可信平臺模塊(簡稱TPM)是可信計算平臺的核心和基礎,是可信計算平臺推廣和應用的關鍵。可信計算平臺的發(fā)展與應用是和相應的技術規(guī)范分不開的,為了促進可信計算平臺的發(fā)展,2003年,可信計算組織(TrustedComputingGroup,簡稱TCG)給出了可信平臺模塊(TrustedPlatformModuel,簡稱TPM)1.2規(guī)范,詳細界定了TPM的功能。同時為了促進國內可信計算平臺產業(yè)的發(fā)展,國家商用密碼管理辦公室發(fā)布了國產可信密碼模塊(TrsutedCryphographicModule,簡稱TCM)的相關標準,詳細界定了國產TCM的功能。為可信計算平臺在國內的發(fā)展奠定了基礎。在可信平臺模塊的形式化分析和建模方面,MatthewBarrett對TPM的一些關鍵安全機制進行了形式化分析,其建立的模型主要是用于安全性分析。同時DaniloBmschi等人對TPM的授權協議進行了形式化的分析,并且通過模型檢測技術分析該協議存在的攻擊方法??尚琶艽a模塊的測試方法和測試系統對可信密碼模塊的功能和符合性方面的要求進行全面而完整的測試,需要一種完善的方案支持測試的實施。Ahmad-RezaSadeghi等人針對TPM給出了一個詳細的測試方案并且給出了測試結果,對測試的結果進行了詳細的分析。所有這些針對TPM或者TCM的分析和測試方法都沒有給出一個完整的系統,并且沒有給出一種如何從規(guī)范生成測試用例的方法。
      發(fā)明內容針對可信密碼模塊的測試需求,本發(fā)明提供了一種可信密碼模塊的測試用例生成方法及其測試系統,其通過利用擴展有限狀態(tài)機對可信密碼模塊進行建模,然后通過擴展有限狀態(tài)機生成測試用例,將測試用例輸入到測試系統中對可信密碼模塊進行完整的測試,本發(fā)明提高了測試的準確性和覆蓋率,本發(fā)明提出的方法與系統能解決如下的問題(1)可信密碼模塊的形式化建模目前國家商用密碼管理辦公室給出的TCM規(guī)范是描述性的,容易造成歧義,不利于產品開發(fā),因此給出一個準確的形式化模型是十分必要的,同時準確的形式化模型可以給TCM的功能驗證、分析以及形式化測試提供基礎。(2)—致性測試的測試用例的數量和質量問題目前針對可信密碼模塊的測試用例都是手工來完成的,而手工測試最大的問題在于測試的完整性和覆蓋度問題無法解決,從而造成測試結果的可信度不高。此外,測試用例的有效性將直接影響TCM的測試效率和測試成本,如何實現測試用例的自動生成成為亟需解決的問題。(3)可信密碼模塊的測試缺少自動化測試方案的支持由于TCM規(guī)范涉及的內容廣泛,純手工的的測試需要大量的人力和物力,迫切需要一種自動化的測試方案以支持測試的自動化,并提供相應的支撐系統。測試用例的生成方法的步驟包括1、可信密碼模塊系統的劃分可信密碼模塊是一個完整的信息系統,其內部由多個有相互聯系但并不十分緊密的系統構成,首先根據可信密碼模塊系統內的功能進行劃分,建立劃分后的各個子系統的依賴圖。劃分的粒度由具體情況而定;2、子系統的擴展有限狀態(tài)機的生成在第1步子系統劃分的基礎上,針對各個子系統進行系統內部的建模,建立各個命令之間的關系,生成子系統的擴展有限狀態(tài)機;3、測試用例的生成根據生成的擴展有限狀態(tài)機生成測試用例。較佳地,第2步中生成擴展有限狀態(tài)機可以采用如下的步驟和方法1)對子系統內部的狀態(tài)進行劃分,形成子系統內部的狀態(tài);2)建立子系統內的命令之間的執(zhí)行順序依賴圖,3)根據子系統內的狀態(tài),從初始狀態(tài)出發(fā),按照命令的執(zhí)行先后順序,在對應的狀態(tài)上應用某個可執(zhí)行命令,造成狀態(tài)的遷移,從而提取出遷移路徑;4)根據第l)、3)步生成的狀態(tài)和遷移路徑,即可形成擴展有限狀態(tài)機。較佳地,第1)步中的狀態(tài)劃分可以采用一種基于類型的狀態(tài)劃分方法,該狀態(tài)提取方法如下描述-設決定狀態(tài)空間的狀態(tài)變量為,其中X,表示的是單值變量,類型分別為7;,...,7;,而4是一個集合變量,集合中的元素類型為77^,...,77;(類型決定了變量的取值空間,本發(fā)明不區(qū)分類型和取值空間)(a)初始狀態(tài)空間為蘭""…,",…"4I、e7;,…,x"《4eP巧,…,4eP7TJ;(b)狀態(tài)的細分下面根據狀態(tài)變量的不同對狀態(tài)進行細分-■單值變量基于一定的策略對單值變量x,的取值進行劃分,如邊界值分析法,類別劃分方法。通過這種方法可以將狀態(tài)進一步的細分?;诓呗?0//^,對狀態(tài)S關于狀態(tài)變量《的劃分定義為-其中^&表示狀態(tài)S經過狀態(tài)變量A細分之后的子狀態(tài),S是對x,變量進行約束的謂詞邏輯,如x,.>=0;爿^)表示狀態(tài)中狀態(tài)變量x;的取值空間?!黾献兞繉献兞浚捎没陬愋偷膭澐址椒ㄟM行狀態(tài)空間的劃分,先定義集合劃分的概念:定義3.2設A是一個非空集合,如果存在一個A的子集族^滿足以下條件1)0g;r;2)"中任意兩個元素不相交;3)"中所有元素的并集等于A;則稱"為集合A的一個劃分?!鼋M合狀態(tài)變量如果內部存在的狀態(tài)變量既包含單值變量A,.』",又包含集合變量4,...,4,那么最后的狀態(tài)空間是各個變量之間的完全組合。得到的狀態(tài)數為,、,x(2"-1)(C)狀態(tài)的縮減從上面的分析可以看出,如果狀態(tài)變量的個數比較多,那么其存在的狀態(tài)空間將會急劇增加,一種解決辦法是在狀態(tài)細分這一步中,控制各個狀態(tài)變量的劃分粒度;另一種解決辦法是根據需求(如測試需求)對最后產生的狀態(tài)空間進行限制,下面通過TCM狀態(tài)的提取來說明基于類型的狀態(tài)劃分方法。較佳地,第(b)步中可以采用如下的一種基于函數的集合劃分方法。若存在由集合T到類型V的函數/:r—K,且類型^是有限集,ra(/)={Vl,V2...V}。則類型T的函數值劃分;r={{V"rI/(,)=Vl},{V/:TI/(,)=v2},.."{V"rI=v}}。因此函數/按照狀態(tài)集合變量4可對狀態(tài)S進行劃分,得到劃分后的結果為i^to<&4,/)={fiV.,fi^{V"e5Sl(4)|/(5Sl(4》=Vl}...{VweJSSi04y)|/(5^04/))=、}}其中A^(4)表示狀態(tài)5S中集合變量4的取值空間中類型為77;的元素集合。各個劃分之間互相組合得到最后的狀態(tài)空間。劃分之間進行狀態(tài)組合得到狀態(tài)空間的個數為較佳地,第3步中生成測試用例時可以按照狀態(tài)或者遷移標準為依據生成測試用例。測試系統主要包括1、腳本解析引擎分析描述測試用例的腳本,并對其進行解析,調用可信密碼模塊的命令執(zhí)行腳本;2、結果分析引擎對測試生成的結果進行分析,產生合適的統計數據和統計報表,并生成綜合報告文檔;3、通信模塊與可信密碼模塊和數據庫進行通信。較佳地,腳本解析引擎所能識別的測試腳本語言釆用一種過程語言,具體的腳本語言可自行設計實現。較佳地,可信密碼模塊與測試系統可以分布在不同的網絡上,由通信模塊完成數據的交互與采集。將生成的測試用例輸入到測試系統中(以腳本的形式),由腳本解析引擎解釋執(zhí)行測試用例就可以實現對測試用例進行測試。本發(fā)明的積極效果采用本發(fā)明之后,測試用例可以以自動化的方式生成,避免了手工測試用例無法保證測試完整性無法保證從而造成測試結果的可信度不高的問題。并且本發(fā)明給出的系統是一個自動化的測試系統,減少了一些人工的干預,節(jié)省了成本。圖1為可信密碼模塊測試用例生成方法;圖2為系統抽象狀態(tài)和初始化定義;圖3為密鑰生成,載入,載出操作模式;圖4為封裝和解封操作模式;圖5為狀態(tài)遷移的提取算法;圖6為密碼子系統的EFSM圖;圖7為可信密碼模塊測試系統結構圖;圖8為TCM各個子系統依賴關系圖;圖9為密碼子系統內的命令依賴關系。具體實施方式下面結合附圖詳細描述本發(fā)明的具體實施方式。首先對可信密碼模塊的子系統進行劃分,根據各個子系統實現的功能進行嚴格劃分,這樣各個劃分后的子系統依賴程度低;這里可信密碼模塊可以分為如下各個子系統密碼子系統,TCM管理子系統,平臺身份表識管理子系統,存儲保護子系統,標識和鑒別子系統,完整性保護子系統,可信路徑子系統。各個子系統之間的依賴關系如圖8所示,其中箭頭指向表示依賴關系,如密碼子系統指向完整性保護子系統,表示密碼子系統依賴完整性保護子系統。其次分別對各個子系統進行EFSM建模,下面以可信密碼模塊的密碼子系統為例說明測試用例的生成方法,以TCM的密碼子系統作為建模的對象。在具體建模過程中,由于TCM規(guī)范中指定的具體數據結構比較復雜,需要進行一定程度的數據抽象。從狀態(tài)上看,TCM的初始狀態(tài)是已經建立了屬主身份(TakeOwner),并且TCM中將會保存有密鑰的相關信息,最重要的是密鑰的句柄以及密鑰的屬性(如類型),引入如下的抽象數據類型和全局變量。[KeyHandle,KeyType]maxcount:N;KeyType:=TCM—STORAGE|TCM—SIGN|TCM—BIND;其中KeyHandle是TCM內部密鑰的句柄類型;KeyType是密鑰的類型,有三種不同的密鑰類型。從操作上看,主要有創(chuàng)建密鑰,銷毀密鑰,使用密鑰等操作。密碼子系統抽象狀態(tài)以及系統初始化定義的描述如圖2所示,其中函數^;;//"^>;^將密鑰句柄映射成不同的密鑰類型,初始時TCM內部有存儲根密鑰SRK。密鑰生成,載入,載出操作模式如圖3所示。圖4給出了TCM的封裝操作以及解封操作的操作模式,其他關于TCM密鑰的操作如解密,簽名操作可用類似的形式給出。下面通過狀態(tài)劃分和遷移提取給出對應的擴展有限狀態(tài)機(EFSM)圖。密碼子系統內的狀態(tài)根據Z規(guī)格說明的抽象狀態(tài)進行劃分。1、密碼子系統內狀態(tài)的劃分在圖2,圖3給出的Z語言規(guī)格說明中,只有一個集合變量te",并且存在一個約束函數一7/osT,。(l)第一步給出初始狀態(tài)(2)第二步狀態(tài)的細分(集合變量)其中S^"內的所有元素密鑰句柄都為簽名密鑰,其他的定義類似。(3)第三步狀態(tài)的組合狀態(tài)組合數n=C32+C;+C33=2"-1=7因此最后給出的狀態(tài)為-A=,S2=,&=J,S4=(5^,5^tora取),="^加,,S說W),(4)第四步狀態(tài)的縮減如果力口上約束條件尸(51)蘭IeAe少j,7>pe(/te>0=rCA/_'狀態(tài)空間可以縮減為4個,分別為、^&^。2、建立密碼子系統內的命令依賴關系命令依賴關系如圖9所示,其中箭頭指向標識依賴關系,如TCMSeal指向TCMlocalkey表示TCMSeal依賴TCMlocalkey。3、遷移的提取圖5給出了狀態(tài)遷移的提取算法。其中ffe/0)-伙e少lfe3;e4,S為內部狀態(tài)的集合,O戶表示TCM操作的集合,在密碼子系統中,O尸=(7UMO敏勿,71Cmo盧ey,70/腸斷,:rCMW,4、最后得到的EFSM圖如圖6所示具體的狀態(tài)含義以及狀態(tài)遷移見表1,表2所示,表l,表2中只給出了其中的一條路徑的遷移,其他路徑的遷移是類似的。在遷移的標記(s-;c,/Vo;^-;^')中,s表示當前狀態(tài),x'表示遷移后的狀態(tài),x表示輸入,P表示轉移的條件,^表示轉移中的操作,;;表示輸出。其中涉及到的符號有,輸入變量集合:V,^^,^一^,、^;輸出變量集合;W,yw,凡由,,^y3W,。輸入命令有TCM—CWK(產生密鑰),TCM_EK,TCM_LK,TCM—UB,TCM—Seal,TCM一UnSeal,TCM—Sign,符號_y,ag(value)表示對變量乂。^賦值vahie。環(huán)境變量和全局變量集合fep(TCM中的句柄集合)等。表1EFSM狀態(tài)描述<table>tableseeoriginaldocumentpage11</column></row><table>R.Dssouli,E.Aboulhamid,an線Rico,IWTCS,97,pp.75-90,1997]。測試系統的軟件實現結構如圖7所示,系統通過TDDL模塊與可信密碼模塊進行交互,其中測試系統、數據庫、以及可信密碼模塊可以分布于不同的網絡,通過網絡通信協議進行通信。權利要求1.一種可信密碼模塊的測試用例生成方法,其步驟為1)將可信密碼模塊劃分為多個子系統;2)建立子系統內的命令依賴關系,從而生成該子系統的擴展有限狀態(tài)機;3)根據生成的擴展有限狀態(tài)機生成該子系統的測試用例。2.如權利要求1所述的方法,其特征在于根據可信密碼模塊系統內各系統的功能劃分子系統;所述子系統包括密碼子系統,TCM管理子系統,平臺身份表識管理子系統,存儲保護子系統,標識和鑒別子系統,完整性保護子系統,可信路徑子系統。3.如權利要求1所述的方法,其特征在于根據所述子系統內部的命令執(zhí)行順序建立所述子系統內的命令依賴關系。4.如權利要求3所述的方法,其特征在于所述子系統的擴展有限狀態(tài)機生成方法為1)對可信密碼模塊子系統內的狀態(tài)進行劃分,形成子系統內部的狀態(tài);2)根據子系統內部的命令依賴關系和子系統內部的狀態(tài),形成狀態(tài)之間的遷移路徑;3)根據生成的狀態(tài)之間的關系提取出遷移路徑;4)根據子系統內部的狀態(tài)和提取的遷移路徑生成擴展有限狀態(tài)機。5.如權利要求4所述的方法,其特征在于所述對可信密碼模塊子系統內的狀態(tài)進行劃分的方法為i)初始狀態(tài)空間為:&歸蘭",…,x",4,…"41&e7;,…,x"eepr;,…,4epttj;其中^x^",^.J,4為決定狀態(tài)空間的狀態(tài)變量,x,表示的是單值變量,類型分別為7;,...,7;,4是一集合變量,集合中的元素類型為77;,...,77;;2)根據狀態(tài)變量的不同對狀態(tài)進行劃分;3)組合劃分后的狀態(tài)變量;4)根據約束條件縮減組合后的狀態(tài)變量。6.如權利要求5所述的方法,其特征在于對所述單值變量采用基于策略policy的劃分方法對狀態(tài)取值進行劃分;對所述集合變量采用基于類型的劃分方法進行狀態(tài)空間的劃分。7.如權利要求5所述的方法,其特征在于對所述集合變量采用基于函數的集合劃分方法進行狀態(tài)空間的劃分由集合T到類型V的函數/:r—F,且類型7是有限集,ra"(/)={vpv2...V},則類型T的函數值劃分為;r={{W:rI/(,)=Vl},{V,:r|/(O=v2}_,{V,:T|/(,)=v}}。8.如權利要求1所述的方法,其特征在于所述根據生成的擴展有限狀態(tài)機生成該子系統的測試用例時遵循C.Bourhfir提出的測試用例生成方法。9.一種檢測如權利要求l所述的測試用例的測試系統,其包括腳本解析引擎分析描述測試用例的腳本,并對其進行解析,調用可信密碼模塊的命令執(zhí)行腳本;結果分析引擎對測試生成的結果進行分析,產生統計數據和統計報表,并生成綜合報告文檔;通信模塊與可信密碼模塊和數據庫進行通信。10.如權利要求9所述的系統,其特征在于所述腳本解析引擎所能識別的測試腳本語言為—種過程語言。全文摘要本發(fā)明公開了一種可信密碼模塊的測試用例生成方法及其測試系統,屬于計算機
      技術領域
      。本發(fā)明的方法為在可信密碼模塊劃分的子系統內部進行建模,生成該子系統的擴展有限狀態(tài)機,然后通過擴展有限狀態(tài)機生成測試用例;本發(fā)明的測試系統包括腳本解析引擎、結果分析引擎和通信模塊。與現有技術相比,本發(fā)明的測試用例可以以自動化的方式生成,避免了手工測試用例無法保證測試完整性無法保證從而造成測試結果的可信度不高的問題,并且本發(fā)明給出的系統是一個自動化的測試系統,減少了一些人工的干預,節(jié)省了成本。文檔編號G06F21/00GK101266571SQ20081010459公開日2008年9月17日申請日期2008年4月22日優(yōu)先權日2008年4月22日發(fā)明者馮登國,初曉博,敏張,昊李,陳小峰申請人:中國科學院軟件研究所
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1