Secure Key Store 安全密鑰儲存

密鑰是系統安全的基礎 

一個安全系統的基礎,在與其所擁有的密鑰,用以提供系統身分的真實性與確保系統資料的機密性,其最基本需要具備的金鑰,包括了: 

  • Hardware Unique Key (HUK) 每個設備實體所擁有的專屬金鑰,具有唯一性與秘密性,用來生成不同應用所需的密鑰與連結裝置專屬的加密資料 
  • Root of Trust Public Key (ROTPK) 用以驗證簽章的公鑰,在裝置安全開機流程中,確保只有通過認證的軟體能夠在裝置上執行 

為了確保系統的安全,無論HUK或ROTPK,都必須不能被修改。 

除此之外,因應各種應用,在系統中還可能存在各種不同功能的密鑰,包括加、解密用的AES Key,驗證簽章用的RSA Key或ECC Key等等。 

這些密鑰架構在密碼學的基礎上,提供系統身分認證,資料保護,傳輸加密等等功能,是系統中,所有安全的基礎,因此對密鑰本身的儲存與保護,更是整個系統中,最重要的一環,這裡我們將儲存密鑰的地方,稱之為Key Store。 

Key Store的特點 

為了確保密鑰的安全,Key Store密需要具備幾個特點 

  • 所儲存的秘鑰,必須是一個不可分割整體 

在Key Store中的每一把密鑰,都必須被視為一個整體來建立、更改與刪除,因為,若一把密鑰有機會被以已知的值取代其部分內容,便很容易被使用分割與暴力破解的方法攻擊 (divide and conquer brute-force attack)。 

  • 根據密鑰的種類,提供不同的儲存類型,包括 
  • 靜態儲存 

靜態儲存的密鑰,必須具有不可更改的特性,這通常會使用ROM或Fuse的特性來達成。然而,雖然靜態儲存的密鑰無法被更改,卻仍必須可以被撤銷,撤銷後的密鑰,將不再能夠存取或利用,以確保密鑰使用上的安全。 

  • 短期儲存 

        短期儲存的密鑰,有較短的壽命,這可以是只存在當次連線期間,也可以只存在當次的上電週期,或是只存續在裝置當次的註冊期間內,這些特性,通常可透過使用Flash或SRAM為儲存媒體來達成。 

  • 設定密鑰屬性,以限制密鑰的使用範圍 

        根據密鑰的用途與對應的密碼學演算法,可限縮密鑰的使用範圍,包括限制只能用於AES加解密、只能用於ECC簽章、只能用於驗證等。這樣的限制理由,主要基於下面幾點 

  • 限制CPU對密鑰的讀取,可避免因軟體漏洞造成密鑰的暴露。
  • 限制密鑰的使用範圍,可以降低當密鑰被破解時,損失波及的範圍。
  • 一把密鑰使用於不同的演算法,將增加被攻擊的危險。
  • 一把密鑰使用於不同的用途,可能造成密鑰存續期間長短的衝突,因而需要延長其存續時間,造成密鑰存續時間超過實務上最佳的存續期限。 
  • 防止物理攻擊 

        Key Store內所儲存的密鑰,是整個系統安全的基礎,不只要防範來自軟體漏洞的暴露風險,也要防止來自物理性的攻擊,包括利用物理特性的旁道攻擊 (Side-Channel Attack)與打開封裝,直接量測晶片儲存內容的攻擊。 

Key Store實例 

以Nuvoton M2354 為例,其中包含 Key Store 硬體單元,提供密鑰儲存的功能,能夠儲存由128 bits 到 4096 bits長度的密鑰,以完整的key為單位,進行寫key、刪除與註銷(Revoke),並具備完整性檢測,只要密鑰有任意的位元出錯,那麼這把密鑰,就會失效,無法使用。 

Key Store 提供OTP、Flash與SRAM三種儲存媒體,可因應不同密鑰存續時間的需求,其中OTP可用來儲存不可更改的密鑰,例如HUK、ROTPK,而Flash可用來儲存雲端連線認證用的密鑰等,而SRAM則可用來儲存雲端連線時,所使用的隨機加密密鑰。 

此外,Key Store在建立密鑰時,可以指定相關屬性,限制秘鑰只能由CPU或特定的加密引擎使用,進一步限制密鑰的使用,以加強密鑰的安全性。 

針對旁道攻擊, Key Store支援Silent Access功能,可以降低儲存操作時,因為物理特性造成的資訊洩露。而針對打開晶片封裝,利用物理量測儲存內容的攻擊,則提供Data Scrambling來防護。更近一步,也可以設定Key Store在系統攻擊偵測(Tamper Detection)觸發時,直接硬體連動,清除、註銷所有Key Store中的密鑰,確保密鑰不被洩露。 

總結

現代的安全系統,仰賴密碼學的保護,而再好密碼學演算法,還是要依靠密鑰的安全儲存,才能真正達到效果,一旦密鑰暴露出來,所有架構於該密鑰的秘密將不再安全,因此具備一個足夠安全的Key Store來存放密鑰,對整個系統而言,是一件相當重要事。

This website uses cookies to ensure you get the best experience on our website. Learn more
OK