專利名稱:可信軟件棧測試裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息系統(tǒng)安全技術(shù)領(lǐng)域,特別是涉及遵循可信計算組織規(guī)范的可信軟件棧。
背景技術(shù):
國際可信計算組織(TCG, Trusted Computing Group)制定了一系列的技術(shù)規(guī)范,其中的 可信計算(TC, Trusted Computing,見參考文獻(xiàn)[l])技術(shù)已成為信息安全領(lǐng)域的新熱點,對構(gòu) 建安全信息系統(tǒng)有重大的指導(dǎo)意義??尚庞嬎阋查_始走向應(yīng)用,國內(nèi)外企業(yè)都推出了許多可 信計算產(chǎn)品。在該技術(shù)應(yīng)用的可信計算平臺(TCP, Trusted Computing Platform)體系中,可信 平臺模塊(TPM, Trusted Platform Module)是整個平臺的信任根。該體系通過建立信任鏈, 將信任從信任根依次傳遞給BIOS (基本輸入輸出系統(tǒng))、操作系統(tǒng)和可信計算應(yīng)用環(huán)境。
可信軟件棧(TSS, TCG Software Stack,見參考文獻(xiàn)[2])為上層的可信計算應(yīng)用提供訪 問TPM的接口,是整個體系中重要的組成部分。目前TSS的相關(guān)產(chǎn)品有Infineon TPM Professional Package 3.0、 IBM TrouSerS和NTRU CTSS等,廣泛的應(yīng)用在可信計算平臺中, 提供對TPM的訪問和管理的支持。TC所描述的規(guī)范是一種理想情況下的產(chǎn)品實現(xiàn)參考,大 部分廠商并未嚴(yán)格按照該規(guī)范研制產(chǎn)品。為確保TSS對TCP的安全支持,需要測試驗證TSS 產(chǎn)品是否符合可信計算的規(guī)范要求,而目前尚未見對TSS進(jìn)行測試的有效方法。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種可信軟件棧測試裝置,該裝置能對不同的TSS
產(chǎn)品進(jìn)行規(guī)范一致性測試。
本發(fā)明所采用的技術(shù)方案是其包括一種服務(wù)提供者測試裝置,用于測試可信軟件棧的 服務(wù)提供者管理功能; 一種核心服務(wù)測試裝置,用于測試可信軟件棧的核心服務(wù)管理功能; 一種設(shè)備驅(qū)動庫測試裝置,用于測試可信軟件棧的TCG設(shè)備驅(qū)動庫管理功能。
本發(fā)明提供的方法與國內(nèi)現(xiàn)有技術(shù)相比具有以下的主要優(yōu)點
第一,在測試內(nèi)容方面,實現(xiàn)對TSS規(guī)范的有效抽取,得到TSS的功能劃分,形成了
TSS的基本測試集合,消除了產(chǎn)品之間實現(xiàn)上的差異,實現(xiàn)了測試的通用性;
第二,在測試方法方面,通過運用反射機(jī)制來加載被測試的TSS,獲取被測試的TSS產(chǎn) 品中功能函數(shù)的各種屬性,觸發(fā)被測試TSS程序的各種事件,從而達(dá)到自動化測試的目的, 提高了測試的效率,系統(tǒng)具有良好的通用性和擴(kuò)展性。
圖1是可信軟件棧的功能劃分。
圖2是可信軟件棧的測試模型。
圖3是基于反射機(jī)制的TSS測試框架。
圖4是可信軟件棧測試流程圖。
具體實施例方式
下面根據(jù)優(yōu)選實施方式來闡述本發(fā)明,但不限于這些優(yōu)選方式。 如圖1所示,根據(jù)TCG的TSS規(guī)范所定義的內(nèi)容,可信軟件棧測試裝置包括 一種服務(wù)提供者測試裝置,用于測試可信軟件棧的服務(wù)提供者管理功能; 一種核心服務(wù)測試裝置,用于測試可信軟件棧的核心服務(wù)管理功能; 一種設(shè)備驅(qū)動庫測試裝置,用于測試可信軟件棧的TCG設(shè)備驅(qū)動庫管理功能。
(1) 服務(wù)提供者測試裝置可包括
完整件保護(hù)測試裝置,用于測試可信軟件棧是否提供用來證明本地平臺完整性的本地應(yīng) 用程序和遠(yuǎn)程實體之間的接口功能;
可信認(rèn)證測試裝置,用于測試可信軟件棧是否提供系統(tǒng)身份認(rèn)證的函數(shù)功能和系統(tǒng)平臺 身份管理的函數(shù)功能;
數(shù)據(jù)保護(hù)測試裝置,用于測試可信軟件棧是否提供保護(hù)用戶敏感數(shù)據(jù)的函數(shù)功能。
(2) 核心服務(wù)測試裝置可包括
密鑰和證書管理測試裝置,用于測試可信軟件棧是否提供創(chuàng)建密鑰、裝載密鑰的函數(shù)接 口功能,對應(yīng)所生成密鑰的授權(quán)信息和證書是否存在,是否符合相應(yīng)規(guī)范要求;
可信度量測試裝置,用于測試可信軟件棧是否提供存儲可信度量值的函數(shù)功能,度量值 是否記入指定的平臺配置寄存器,平臺是否能夠向驗證者提供指定的平臺配置寄存器值;
TPM資源管理測試裝置,用于測試可信軟件棧是否提供對TPM資源進(jìn)行管理的函數(shù)功能。
(3) 設(shè)備驅(qū)動庫測試裝置包括
TPM驅(qū)動接口測試裝置,用于測試可信軟件棧是否為上層應(yīng)用程序提供訪問TPM驅(qū)動 接口的管理功能。
本發(fā)明在前面劃分的TSS測試裝置的基礎(chǔ)上,提出了一個TSS的測試模型,通過建立和 測試相關(guān)的數(shù)據(jù)庫,依照規(guī)范將被測對象TSS中的函數(shù)的相關(guān)信息進(jìn)行抽象,存儲在測試數(shù) 據(jù)庫中。如圖2所示,本測試裝置還包括
主測試裝置,其上的主測試程序從上層測試調(diào)用界面獲得測試需求,確定需要測試的可 信軟件棧模塊;然后査詢數(shù)據(jù)庫,得到各被測模塊相應(yīng)的測試用例,同吋調(diào)用各測試裝置上
的本地可信軟件棧測試模塊;最后將各測試裝置反饋的測試結(jié)果存儲到數(shù)據(jù)庫中;
評估裝置,用于對數(shù)據(jù)庫中的測試結(jié)果數(shù)據(jù)進(jìn)行分析,得到測試報告。
數(shù)據(jù)庫裝置,用于存儲各本地可信軟件棧測試模塊相應(yīng)的測試用例;存儲各測試裝置反 饋的測試結(jié)果。
其整體的工作過程是
(1) 主測試裝置上的主測試程序從上層測試調(diào)用界面獲得測試需求,確定需要測試的可 信軟件棧模塊;
(2) 主測試程序査詢數(shù)據(jù)庫,得到各被測模塊相應(yīng)的測試用例,同時調(diào)用各測試裝置上
的本地可信軟件棧測試模塊對可信軟件棧進(jìn)行測試;(3)最后將各測試裝置反饋的測試結(jié)果存儲到數(shù)據(jù)庫中。 如圖3所示,主測試裝置可利用反射機(jī)制調(diào)用各測試裝置上的本地可信軟件棧測試模塊, 包括
1) 主測試裝置查詢數(shù)據(jù)庫,得到被測模塊對應(yīng)的測試用例的相關(guān)屬性信息,然后封裝測 試用例的方法程序集;
2) 動態(tài)地創(chuàng)建被測模塊的實例;
3) 最后加載被測模塊實例,獲取被測模塊的各種屬性,調(diào)用被測模塊的測試方法。 如圖4所示,主測試裝置調(diào)用各測試裝置上的本地可信軟件棧測試模塊,對可信軟件棧
進(jìn)行測試的步驟包括
a) 開始可信軟件棧的測試;
b) 開始測試可信軟件棧中的一個功能模塊;
c) 根據(jù)該功能模塊對應(yīng)的一組測試用例進(jìn)行測試,得到一組測試結(jié)果;
d) 判斷是否為最后一組測試用例,如果為"是",轉(zhuǎn)至步驟e),如果為"否",轉(zhuǎn)至 步驟c);
e) 判斷是否為最后一個可信軟件棧功能模塊,如果為"是",轉(zhuǎn)至步驟f),如果為"否", 轉(zhuǎn)至步驟b)。
f) 完成可信軟件棧的測試。 實施例
如圖1所示,可信軟件棧測試裝置包括
服務(wù)提供者測試裝置,用于測試可信軟件棧的服務(wù)提供者管理功能; 核心服務(wù)測試裝置,用于測試可信軟件棧的核心服務(wù)管理功能; 設(shè)備驅(qū)動庫測試裝置,用于測試可信軟件棧的TCG設(shè)備驅(qū)動庫管理功能; 主測試裝置,用于從上層測試調(diào)用界面獲得測試需求,確定需要測試的可信軟件棧模塊;
然后査詢數(shù)據(jù)庫,得到各被測模塊相應(yīng)的測試用例,同時調(diào)用各測試裝置上的本地可信軟件
棧測試模塊;最后將各測試裝置反饋的測試結(jié)果存儲到數(shù)據(jù)庫中;
評估裝置,用于對數(shù)據(jù)庫中的測試結(jié)果數(shù)據(jù)進(jìn)行分析,得到測試報告;
數(shù)據(jù)庫裝置,用于存儲各本地可信軟件棧測試模塊相應(yīng)的測試用例;存儲各測試裝置反 饋的測試結(jié)果。
服務(wù)提供者測試裝置具體又包括
完整性保護(hù)測試裝置,用于測試可信軟件棧是否提供用來證明本地平臺完整性的本地應(yīng) 用程序和遠(yuǎn)程實體之間的接口功能;
可信認(rèn)證測試裝置,用于測試可信軟件棧是否提供系統(tǒng)身份認(rèn)證的函數(shù)功能和系統(tǒng)平臺 身份管理的函數(shù)功能;
數(shù)據(jù)保護(hù)測試裝置,用于測試可信軟件棧是否提供保護(hù)用戶敏感數(shù)據(jù)的函數(shù)功能。
核心服務(wù)測試裝置具體又包括
密鑰和證書管理測試裝置,用于測試可信軟件棧是否提供創(chuàng)建密鑰、裝載密鑰的函數(shù)接口功能,對應(yīng)所生成密鑰的授權(quán)信息和證書是否存在,是否符合相應(yīng)規(guī)范要求;
可信度量測試裝置,用于測試可信軟件棧是否提供存儲可信度量值的函數(shù)功能,度量值
是否記入指定的平臺配置寄存器,平臺是否能夠向驗證者提供指定的平臺配置寄存器值;
TPM資源管理測試裝置,用于測試可信軟件棧是否提供對TPM資源進(jìn)行管理的函數(shù)功能。
設(shè)備驅(qū)動庫測試裝置具體又包括
TPM驅(qū)動接口測試裝置,用于測試可信軟件棧是否為上層應(yīng)用程序提供訪問TPM驅(qū)動 接口的管理功能。
其整體的工作過程如圖2所示
1. 主測試裝置上的主測試程序從上層測試調(diào)用界面獲得測試需求,確定需要測試的可信 軟件棧模塊。
2. 主測試程序查詢數(shù)據(jù)庫,得到各被測模塊相應(yīng)的測試用例。如圖3所示, 一個軟件棧 被測功能模塊的測試用例包括Testl, Test2,…,Testi,…,Testn(l《i《n, i、 n均為自然 數(shù)),并依次形成測試流程Testl、 Test2、、 Testi、…Testn。
3. 主測試裝置査詢數(shù)據(jù)庫,得到被測模塊對應(yīng)的測試用例的相關(guān)屬性信息,然后封裝測 試用例的方法程序集。如測試用例Testi對應(yīng)的方法程序集包括Testi ()卜-}。
4. 開始可信軟件棧的測試。
5. 開始測試可信軟件棧的一個功能模塊。
6. 動態(tài)地創(chuàng)建被測模塊的實例。
7. 加載被測模塊實例,獲取被測模塊的各種屬性,調(diào)用被測模塊的測試方法。
8. 根據(jù)該功能模塊對應(yīng)的一組測試用例進(jìn)行測試,得到一組測試結(jié)果。如圖3所示,先 調(diào)用Testl測試,下次進(jìn)行步驟8時,就調(diào)用Test2測試,依此類推。
9. 判斷是否為最后一組測試用例,如果為"是",轉(zhuǎn)至步驟IO,如果為"否",轉(zhuǎn)至步
驟8;
10. 判斷是否為最后一個可信軟件棧功能模塊,如果為"是",轉(zhuǎn)至步驟ll,如果為"否", 轉(zhuǎn)至歩驟5。
11. 完成可信軟件棧的測試。
12. 將各測試裝置反饋的測試結(jié)果存儲到數(shù)據(jù)庫中。
13. 通過評估裝置對數(shù)據(jù)庫中的測試結(jié)果進(jìn)行分析,得到測試報告。 參考文獻(xiàn) Trusted Computing Group. TCG Specification Architecture Overview [EB/OL〗. [2007-04-08]https:〃www,trustedcomputinggroup.org/groups/TCG—1—4—Architecture—Overview.pdf Trusted Computing Group. TCG Software Stack(TSS) Specifiction[EB/OL]. [2005-12-01].https:〃www,trustedcomputinggroup.org/specs/TSS
權(quán)利要求
1. 可信軟件棧測試裝置,其特征在于包括一種服務(wù)提供者測試裝置,用于測試可信軟件棧的服務(wù)提供者管理功能;一種核心服務(wù)測試裝置,用于測試可信軟件棧的核心服務(wù)管理功能;一種設(shè)備驅(qū)動庫測試裝置,用于測試可信軟件棧的TCG設(shè)備驅(qū)動庫管理功能。
2. 如權(quán)利要求1所述的可信軟件棧測試裝置,其特征在于服務(wù)提供者測試裝置包括 完整性保護(hù)測試裝置,用于測試可信軟件棧是否提供用來證明本地平臺完整性的本地應(yīng)用程序和遠(yuǎn)程實體之間的接口功能;可信認(rèn)證測試裝置,用于測試可信軟件棧是否提供系統(tǒng)身份認(rèn)證的函數(shù)功能和系統(tǒng)平臺 身份管理的函數(shù)功能;數(shù)據(jù)保護(hù)測試裝置,用于測試可信軟件棧是否提供保護(hù)用戶敏感數(shù)據(jù)的函數(shù)功能。
3. 如權(quán)利要求1所述的可信軟件棧測試裝置,其特征在于核心服務(wù)測試裝置包括 密鑰和證書管理測試裝置,用于測試可信軟件棧是否提供創(chuàng)建密鑰、裝載密鑰的函數(shù)接口功能,對應(yīng)所生成密鑰的授權(quán)信息和證書是否存在,是否符合相應(yīng)規(guī)范要求;可信度量測試裝置,用于測試可信軟件棧是否提供存儲可信度量值的函數(shù)功能,度量值是否記入指定的平臺配置寄存器,平臺是否能夠向驗證者提供指定的平臺配置寄存器值;TPM資源管理測試裝置,用于測試可信軟件棧是否提供對TPM資源進(jìn)行管理的函數(shù)功能。
4. 如權(quán)利要求1所述的可信軟件棧測試裝置,其特征在于設(shè)備驅(qū)動庫測試裝置包括 TPM驅(qū)動接口測試裝置,用于測試可信軟件棧是否為上層應(yīng)用程序提供訪問TPM驅(qū)動接口的管理功能。
5. 如權(quán)利要求1 4中任一權(quán)利要求所述的可信軟件棧測試裝置,其特征在于還包括 主測試裝置,用于從上層測試調(diào)用界面獲得測試需求,確定需要測試的可信軟件棧模塊;然后查詢數(shù)據(jù)庫,得到各被測模塊相應(yīng)的測試用例,同時調(diào)用各測試裝置上的本地可信軟件 棧測試模塊對可信軟件棧進(jìn)行測試;最后將各測試裝置反饋的測試結(jié)果存儲到數(shù)據(jù)庫中; 評估裝置,用于對數(shù)據(jù)庫中的測試結(jié)果數(shù)據(jù)進(jìn)行分析,得到測試報告; 數(shù)據(jù)庫裝置,用于存儲各本地可信軟件棧測試模塊相應(yīng)的測試用例;存儲各測試裝置反 饋的測試結(jié)果。
6. 如權(quán)利要求5所述的可信軟件棧測試裝置,其特征在于主測試裝置利用反射機(jī)制調(diào)用 各測試裝置上的本地可信軟件棧測試模塊,包括1) 主測試裝置查詢數(shù)據(jù)庫,得到被測模塊對應(yīng)的測試用例的相關(guān)屬性信息,然后封裝測 試用例的方法程序集;2) 動態(tài)地創(chuàng)建被測模塊的實例;3) 最后加載被測模塊實例,獲取被測模塊的各種屬性,調(diào)用被測模塊的測試方法。
7. 如權(quán)利要求5所述的可信軟件棧測試裝置,其特征在于主測試裝置調(diào)用各測試裝置上的本地可信軟件桟測試模塊,對可信軟件棧進(jìn)行測試的步驟包括a) 開始可信軟件棧的測試;b) 開始測試可信軟件棧中的一個功能模塊;C)根據(jù)該功能模塊對應(yīng)的一組測試用例進(jìn)行測試,得到一組測試結(jié)果; d)判斷是否為最后一組測試用例,如果為"是",轉(zhuǎn)至步驟f),如果為"否",轉(zhuǎn)至 步驟C);f) 判斷是否為最后一個可信軟件棧功能模塊,如果為"是",轉(zhuǎn)至步驟g),如果為"否", 轉(zhuǎn)至步驟b)。g) 完成可信軟件棧的測試。
全文摘要
本發(fā)明提供了一種可信軟件棧測試裝置,包括一種服務(wù)提供者測試裝置,用于測試可信軟件棧的服務(wù)提供者管理功能;一種核心服務(wù)測試裝置,用于測試可信軟件棧的核心服務(wù)管理功能;一種設(shè)備驅(qū)動庫測試裝置,用于測試可信軟件棧的TCG設(shè)備驅(qū)動庫管理功能。本發(fā)明消除了產(chǎn)品之間實現(xiàn)上的差異,實現(xiàn)了測試的通用性;提高了測試的效率,系統(tǒng)具有良好的通用性和擴(kuò)展性。
文檔編號G06F11/36GK101414279SQ200810197669
公開日2009年4月22日 申請日期2008年11月18日 優(yōu)先權(quán)日2008年11月18日
發(fā)明者飛 嚴(yán), 凡 何, 張煥國, 徐士偉, 梅 湯, 鄒冰玉 申請人:武漢大學(xué)