TPM、HSM、安全元件的差異:配置位置、用途、金鑰保護、認證比較

三者都是在專用硬體內產生並保管密碼金鑰,不讓私密金鑰離開,而在內部進行簽章與解密的元件。差異在於保護的對象與配置的位置。TPM 在每台個人電腦或伺服器上各有一個,記錄並證明該裝置的開機狀態,保護與裝置綁定的金鑰。HSM 是集中保管組織重要金鑰的專用裝置,位於憑證機構、支付系統與雲端金鑰管理服務的核心,處理大量的簽章與解密。安全元件是放在 IC 卡或智慧型手機中的小型抗竄改晶片,在隨身攜帶的裝置中保護支付與身分驗證的憑證資料。

項目TPMHSM安全元件
配置的位置與形式裝在個人電腦或伺服器主機板上的獨立晶片。也有以 CPU 或 SoC 內的韌體實現者(fTPM)PCIe 卡、連接網路的專用裝置。也以雲端服務的形式提供IC 卡、SIM 卡、裝在智慧型手機或 IoT 裝置電路板上的小型晶片。也有整合進 SoC 的形式
主要目的記錄並證明該裝置的開機狀態,保護與裝置綁定的金鑰集中保護組織的重要金鑰,受理並處理來自許多系統的簽章與解密請求在隨身攜帶的裝置中,保護支付、身分驗證、電信業者用戶驗證等的憑證資料
主要使用的裝置與使用者個人電腦、伺服器憑證機構、銀行與支付業者、資料中心與雲端的金鑰管理服務(KMS)信用卡、員工證等 IC 卡,SIM、智慧型手機、IoT 裝置
金鑰的保護方式在 TPM 內部產生金鑰,私密金鑰的部分不以明文離開。也能綁定 PCR 的值,只在開機狀態正確時才交出金鑰(封存)在裝置內產生並保管金鑰,應用程式只提出「用這把金鑰簽章」的請求並取得結果。管理使用者的權限與操作記錄將金鑰與憑證資料保管在晶片內,由晶片內的應用程式(applet)進行驗證與簽章
密碼運算的效能低。大量資料的加密,由 CPU 使用 TPM 交出的金鑰進行高。設計成能連續處理大量的簽章與金鑰操作低。適合短資料的驗證與簽章
抗竄改性與認證獨立晶片具備抗竄改性。fTPM 依賴主處理器的保護。依產品不同,取得共同準則或 FIPS 140 的認證偵測到有人試圖打開裝置時會清除金鑰。許多產品取得 FIPS 140-3 等標準的認證具備智慧卡等級的抗竄改性,對旁路攻擊與故障注入攻擊的對策也會受到評估。許多產品經過共同準則(ISO/IEC 15408)的評估
遠端證明核心功能。以無法離開 TPM 的金鑰簽署 PCR 的值(quote),用於遠端證明不是核心功能。部分產品能出具證明,表示金鑰在裝置內產生且無法匯出用來證明金鑰是在晶片內產生,以及晶片是真品
成本與大小便宜。是個人電腦的零件之一,fTPM 則不需要額外的零件最昂貴也最大。不能停止的用途會使用多台以達成備援最小,可放進卡片與小型裝置。因大量生產,單價便宜
代表性用法磁碟加密金鑰的封存、量測開機、連上網路前的裝置健康狀態確認憑證機構的簽章金鑰、支付用的金鑰、KMS 的最上層金鑰、軟體程式碼簽章的金鑰非接觸式支付、SIM 與 eSIM 的用戶驗證、電子護照與身分證、IoT 裝置的裝置驗證

數值為具代表性的大致參考值,會因世代或產品而異。

適用於什麼情況

TPM
在個人電腦或伺服器上,想將金鑰與開機狀態綁定加以保護時(例如磁碟加密),或想向伺服器證明該裝置以正確的軟體開機時。
HSM
像憑證機構的簽章金鑰或支付用的金鑰這樣,對組織最重要的金鑰,要讓許多系統使用,同時集中在一處保護時。法規或稽核要求以經過認證的裝置處理金鑰時也會使用。
安全元件
在卡片、智慧型手機、IoT 裝置等可能落入攻擊者手中的裝置裡,想保護支付與身分驗證的憑證資料,以及每台裝置的金鑰,抵禦實體攻擊時。
搭配使用
一般會在同一個系統中併用。例如以 TPM 證明伺服器的開機狀態,以 HSM 保護服務的重要金鑰,使用者的智慧型手機則由安全元件保護支付金鑰。

常見問題

TPM 與 HSM 有什麼不同?

TPM 裝在單一裝置上,記錄並證明該裝置的開機狀態,保護與裝置綁定的金鑰,處理速度較慢。HSM 是集中保管組織重要金鑰的專用裝置,以高效能處理來自許多系統的簽章與解密請求。兩者都採取不讓金鑰離開、在內部處理的想法,差別在於規模與角色。

安全元件與 TEE 是一樣的東西嗎?

不一樣。安全元件是擁有自己的處理器與記憶體的獨立抗竄改晶片。TEE(可信執行環境)則像 Arm 的 TrustZone 那樣,在主處理器內建立隔離的執行環境,與一般作業系統共用核心與快取。智慧型手機常兩者並用,例如在 TEE 中進行指紋比對,最有價值的金鑰則由安全元件保護。

fTPM 與獨立的 TPM 晶片一樣安全嗎?

使用方式(介面)相同,但保護方式不同。fTPM 在主處理器內隔離的環境中執行,不必另外搭載晶片,但可能受到處理器韌體的漏洞或旁路攻擊的影響。獨立晶片則能專門設計對實體攻擊的抵抗力。該選哪一種,取決於所設想的攻擊。

FIPS 140-3 與共同準則有什麼不同?

FIPS 140-3 是美國與加拿大的制度所採用、規定密碼模組安全要求的標準,依要求的嚴格程度分為 4 個安全等級。共同準則(ISO/IEC 15408)是國際標準,依各產品訂定的安全目標進行評估,並以評估保證等級(EAL)等表示評估的深度。HSM 多以 FIPS 140-3 驗證,IC 卡與安全元件多以共同準則評估,但也有兩者都取得的產品。

理解度檢測

下列關於電腦等搭載的TPM(可信平台模組)的主要作用,何者正確?

  1. A用來加快畫面顯示的專用電路
  2. B管理CPU散熱的零件
  3. C提供安全地產生與保管金鑰、保存已啟動軟體的記錄並證明其狀態等安全功能
查看答案與解析

正確答案:C. 提供安全地產生與保管金鑰、保存已啟動軟體的記錄並證明其狀態等安全功能

TPM是進行金鑰的產生與保管、密碼處理、亂數產生、記錄已啟動軟體的雜湊值等,不易從外部被竄改的安全用晶片(或內建於CPU的功能)。例如,若設計成只有在啟動狀態正確時才能取出磁碟加密的金鑰,那麼即使磁碟被抽走,或啟動軟體被改寫,資料也不易被讀取。

關於HSM(硬體安全模組)的角色,正確的是下列何者?

  1. A用來大量保存加密資料、內建加密功能的高速儲存裝置
  2. B在具有抗竄改性的裝置內產生與保管金鑰,並在不讓金鑰離開的情況下進行簽章或解密等處理的裝置
  3. C監看網路的通訊,找出並阻擋不正當封包或攻擊通訊的網路設備
查看答案與解析

正確答案:B. 在具有抗竄改性的裝置內產生與保管金鑰,並在不讓金鑰離開的情況下進行簽章或解密等處理的裝置

HSM是用來保護憑證機構的簽章金鑰、支付用的金鑰,以及雲端金鑰管理服務(KMS)的最上層金鑰等的專用裝置。金鑰在HSM內部產生,並設計成無法以明文離開,應用程式只要提出「用這把金鑰簽章」等請求,就只會收到結果。它具有被試圖打開時會清除金鑰等抗竄改性,許多產品取得了FIPS 140-3等標準的認證。智慧型手機的安全元件與PC的TPM,規模雖小,也以類似的想法保護金鑰。

下列關於IC卡等安全用晶片所要求的防竄改性(tamper resistance)的說明,何者正確?

  1. A晶片即使被水浸濕也不會損壞的性質
  2. B使打開晶片或以探針接觸等物理攻擊變得困難,並在偵測到時清除金鑰等,以保護內部機密的性質
  3. C晶片即使在高溫下也能高速運作的性質
查看答案與解析

正確答案:B. 使打開晶片或以探針接觸等物理攻擊變得困難,並在偵測到時清除金鑰等,以保護內部機密的性質

防竄改性是指能抵禦拆解晶片或以探針接觸內部佈線以取出機密之攻擊的性質。組合採用的對策有:覆蓋表面的金屬佈線網(屏蔽)被切斷時會偵測到、偵測光、溫度與電壓的異常、將內部佈線加密或複雜配置、偵測到異常就清除金鑰等。評估時也包含對旁路攻擊與錯誤注入的對策。

  1. 下列關於遠端證明(remote attestation)的說明,何者正確?
  2. 下列關於錯誤注入攻擊(故障注入攻擊)的說明,何者正確?
  3. 設DEK為資料加密金鑰、KEK為金鑰加密金鑰。關於雲端儲存等所使用之信封加密的說明,正確的是下列何者?

前往硬體安全的練習題

相關名詞的解說

TPM(可信賴平台模組)
Trusted Platform Module。負責金鑰的產生與保管、已啟動軟體之測量值的記錄、狀態證明等的安全性晶片或功能。
硬體安全模組(HSM)
安全地產生與保管加密金鑰,並在內部進行簽章或解密等處理而不讓金鑰離開的專用裝置。具有抗竄改性,偵測到被撬開等情況時會清除金鑰。用於保護憑證機構的簽章金鑰、支付用的金鑰,以及雲端金鑰管理服務(KMS)的最上層金鑰等。許多產品取得了FIPS 140-3等標準的認證。除了PCIe卡與連接網路的設備形式外,也以雲端服務的形式提供。
抗竄改性(Tamper resistance)
能抵抗打開晶片或以探針接觸等物理攻擊,並在偵測到時清除金鑰等,以保護內部機密的性質。
遠端證明(Remote attestation)
裝置以晶片內的金鑰簽署自己內部所執行軟體的狀態,出示給遠端伺服器,由其確認是否可信賴的機制。
量測開機(Measured boot)
在開機的每個階段,將下一個軟體的雜湊值累積記錄到 TPM 等中,使事後能確認開機狀態的機制。
TEE(可信執行環境)
與一般作業系統也隔離、由硬體保護的執行環境。用於進行金鑰處理與認證等重要處理。例如 Arm 的 TrustZone。
信封加密
以資料加密金鑰(DEK)加密資料,再以另一把金鑰加密金鑰(KEK)加密(包裝)該DEK,並與資料一起保存的方式。KEK放在KMS或HSM內部不讓它離開,大量資料則可在本地加密。更新KEK時,只要重新加密較小的DEK即可,不必重新加密全部資料。廣泛用於雲端儲存與資料庫的加密。

相關的比較