TPM自我測試與系統測試的澄清

關鍵字 :TPM

起因

常有人問TPM自我測試,到底做那些測試?

  1. 有沒有TPM自我測試的test function list?
  2. 英飛凌提供的測試工具,除了讀取TPM 自我測試外,還可以提供那些測試?
  3. 若客戶覺得測試太簡單,可否做較多的測試? 

迷思.

會問這些問題,通常對TPM,以及系統架構,比較陌生,不清楚該如何做比較安心,所以提出比較簡單的問話。

TPM自我測試,是可信規範的部分,確保TPM在被系統使用時,是最基本可以被信賴的根元件。

當TPM整合至平台(PC/NB/Embedded system)與作業系統時,對整體系統的可信測試,是屬於系統測試範疇。

所以TPM自我測試,只是提供系統運作或測試時,確保在可信的狀態。

並非直覺上覺得,TPM自我測試,包含了整個系統的可信測試。

附註:"可信",是指操作平台,與操作人,確保為同一平台與使用者,不會是假冒的。

但直接回答,通常會繞一大圈,也沒得到想要的答案。然後不斷的重複詢問。

因為問題本身,不是遇到困難想要知道結果,而是出於對TPM的陌生。

以下我會先做澄清,以簡單圖文的方式介紹一些架構,避免冗長的介紹。

然後再針對問題,限縮範圍來回應,看是否可以讓你們客戶得到滿意答案?

 

澄清.

下圖是TPM的架構圖,在TCG定義TPM規範中,定義"自我測試",包括power on 時必須進行,以及架構中各項子件的檢查。

系統僅需知道TPM自我測試結果,是成功或失敗,進而使系統(例PC主機/Server)決定如何運行,達到信任鏈的延伸。

附註:"信任鏈",簡單的描述,例如收到郵件,可信的郵件,必須根源可信得傳送,而傳送過程,必須根源於可信平台的傳送。

TPM

以上圖例內容來自 <https://trustedcomputinggroup.org/resource/tcg-architecture-overview-version-1-4/>

 

就含有TPM的系統架構而言,測試種類大約區分如下圖右方的三個敘述。

最底層是TPM規範的測試,與上兩層生產和運用的測試,並沒有直接關係。


在中間層,是IC供應商提供,或是平台製造商設計,主要在確保該平台生產,該TPM device運作正常。


最上層的測試,通常是終端客戶(系統商)或作業系統供應商自行開發,主要是確保應用軟體使用到TPM時的準確無誤。

例如:應用Intel.TXT功能,會做TPM Provisioning,就須檢測是否完成配置。

若應用到通訊方面,通常會檢查TPM是1.2或是2.0版本,或是直接讀取憑證,檢查演算法是否為其需求的。

可參考範例,如微軟WHLK檢測有關於TPM的部分,涵蓋所有檢測階層,除了TPM自我檢測外。目的是確保driver/BIOS interfce(access TPM)/應用軟體bitlocker等,運作正確。

test

以上圖例內容來自 <https://trustedcomputinggroup.org/resource/tcg-architecture-overview-version-1-4/>

 

歸結.

1. 有沒有TPM自我測試的test function list?

對系統商而言,此test function list最終可能不是他想知道結果。

重點應該是有沒有通過認證的需求,例如Common Criteria或是FIPS。(參考資料 4)

標案通常需要使用有過認證的TPM,歐洲需要Common Criteria,北美地區則會要求FIPS。

如澄清圖二,最底層TPM 自我測試,是根據 PC Client TPM Certification 規範(參考資料 5),test list會是測試內部RSA演算,雜湊演算,等功能的確認。

若真想知道測試細項,可以在 TCG FIPS 140-2 Guidance for TPM 2.0規範第13章(參考資料 6),查到list方式的測試細項。

2. 英飛凌提供的測試工具,除了讀取TPM 自我測試外,還可以提供那些測試?

如澄清圖二,右側中間說明,旨在工廠生廠用。

當然可以帶入command 的方式,處理一般command 可檢測的項目。

參考第3條回覆。Command 用法請參考TPM 規範。(參考資料 12)


3.   若客戶覺得測試太簡單,可否做較多的測試?

可以先瀏覽TPM摘要(Trusted Platform Module (TPM) Summary)(參考資料 3)

思考其產品期望使用到那些功能,決定要測那些項目,然後設計自有的測試軟體或是command的批次整合,透過提供的測試工具去下command?

例如:檢測憑證日期?讀取EK並紀錄?

檢測TPM的演算法是否具備中國的加密演算SM4等?

產品製造時是否要預埋機密資料在TPM的NVM中?

 

參考資料.

1. TPM 1.2 Main Specification http://www.trustedcomputinggroup.org/resources/tpm_main_specification

2. TPM 2.0 Library Specification http://www.trustedcomputinggroup.org/resources/tpm_library_specification

3.  Trusted Platform Module (TPM) Summary https://trustedcomputinggroup.org/resource/trusted-platform-module-tpm-summary/

4.  TCG Certification Programs https://trustedcomputinggroup.org/membership/certification/

5. PC Client TPM Certification https://trustedcomputinggroup.org/resource/pc-client-tpm-certification/

6.  TCG FIPS 140-2 Guidance for TPM 2.0 https://trustedcomputinggroup.org/wp-content/uploads/TCG_FIPS_140_Guidance_for_TPM2_0_v1r1_20170202.pdf

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論