低功耗藍牙 Bluetooth Low Energy BLE PUF 密鑰加密密鑰 KEK Secure Vault

密鑰管理滴水不漏 藍牙安全性升級有道

很少人能抗拒扣人心弦、充滿冒險的海盜故事,包括追索藏寶圖上的確切地點以及爾虞我詐的過程,只為尋找遺失已久的鑰匙,打開藏有大量寶藏的箱子。然而浪漫的海盜故事現今仍舊以網路的型態流行,而且有大規模盛行的趨勢。

藍牙安全性與密鑰

在藍牙標準組織Bluetooth SIG的研究報告「2021 Bluetooth Market Update」中指出,低功耗藍牙(Bluetooth Low Energy, BLE)正在工業、商業、家庭和無線醫療物聯網領域顯著成長,並迅速成為數位竊賊最喜歡攻擊的目標。藍牙信標在醫療產業中被用於追蹤高價值資產設備,如血糖儀;駭客入侵這些設備後,網路犯罪集團就可以控制感測器並讀取患者資料,並將資料傳送到建構的管理系統。手機也已經成為諸如門鎖和門禁系統等多種設備的通用數位鑰匙,入侵這些系統使網路盜匪能夠獲取關鍵的數位資訊或實體資產。駭客可以利用藍牙協定來存取保護通訊鏈路的安全密鑰以入侵這些系統。

安全密鑰是一長串字元和數字,在安全演算法中用來加密和解密資訊,藍牙設備在初始配對過程中生成並交換數個安全密鑰,此一做法是為了相互識別,並為將來的通訊創建一個安全的連線。這些密鑰包括若干短暫的或臨時的密鑰,如設備公用的密鑰、橢圓曲線密鑰演算法(Elliptic Curve Diffie-Hellman, ECDH)、訊息驗證碼(MAC)以及更多的密鑰。然而,這些密鑰僅在配對過程中相關聯,並且在配對過程完成後被丟棄。

配對過程還生成持久性密鑰,例如可用於解析私有地址的身份決定密鑰(Identity Resolving Key, IRK),以及創建階段性密鑰和在鏈路層加密訊息的長期密鑰(Long-Term Key, LTK)。這些持久性密鑰需要安全儲存,藍牙規範將密鑰的儲存留給低功耗藍牙設備製造商自行決定。半導體公司如Silicon Labs(芯科科技)可以透過創新技術解決安全密鑰儲存的需求。

在過去,海盜會把他們的寶藏埋在遙遠的地方,把鑰匙藏在他們落腮鬍裡,由於鬍鬚空間明顯不足的問題,此一儲存密鑰的方式不再是個可行的方案。在半導體領域,安全密鑰存放在密鑰儲存和管理設備中;然而,這些儲存空間就像一個保險庫,需要確保藍牙密鑰的儲存安全。這使我們回到原點並留下一個問題—應如何儲存密鑰?

安全密鑰管理解決方案PUF

Silicon Labs的安全引擎(Secure Engine, SE)是一個安全子系統,可實現安全密鑰管理,以可靠保密、難以竊取的方式存放諸如LTK與IRK等密鑰。安全引擎使用物理不可仿製功能(Physically Unclonable Function, PUF)來克服安全儲存密鑰的挑戰。

首先瞭解什麼是PUF。PUF是嵌入在積體電路中的一種物理結構,由於其固有的深次微米(Deep-Submicron)製造工藝變化而產生獨特的微米或奈米級特性,因此很難複製。靜態隨機存取記憶體(SRAM)PUF是最知名、容易取得的標準PUF元件,一個SRAM儲存單元由兩個交叉耦合的逆變器(Inverter)和兩個用於外部連接的附加電晶體組成,因此總共有六個電晶體,當向每個儲存單元施加電壓時,它將初始化成唯一的1或0優先狀態,該優先狀態由構成兩個交叉耦合逆變器的電晶體臨界值電壓決定。

如果SRAM儲存陣列夠大(通常是1,000到2,000個單元),那麼1和0的隨機模式將成為該晶片在統計上保證唯一的「指紋」。然後使用這個獨特的數位指紋創建一個稱為密鑰加密密鑰(Key Encryption Key, KEK)的對稱根密鑰,並對需要安全儲存的密鑰進行加密。因為設備產生了自己的KEK,因此可消除KEK被惡意攻擊的機會。

實現下一代安全密鑰儲存

 

無法提取的密鑰加密密鑰

廠商如Silicon Labs的EFR32BG21具有安全引擎以實現PUF和篡改檢測功能。藍牙設備主要關注LTK和IRK的安全儲存。在Secure Vault安全技術的高層級保護中,PUF生成的密鑰加密密鑰通過安全引擎無法讀取的秘密匯流排發送到對稱的高級加密標準(Advanced Encryption Standard, AES)加密演算法。

接著使用AES演算法以標準化的密鑰封裝演算法對LTK和IRK進行加密,然後發送到晶片上的快閃記憶體、晶片上的記憶體或晶片外的記憶體,以「包裹(Wrapped)」格式進行安全儲存。每次晶片通電時,PUF數位指紋和KEK都會重新生成,並暫時儲存在安全引擎RAM中(圖1)。這意味著當晶片斷電時,KEK永遠不會留在持久記憶體中,因此無需對KEK進行安全儲存。

圖1  安全密鑰管理示意

篡改檢測

篡改檢測在安全套件中經常被忽視,因為其重點通常是防止遠端攻擊。然而,篡改檢測是一種相對便宜且簡單的方法,可以避免外部裝置透過快閃記憶體讀取設備中的密鑰而導致本地的攻擊向量。例如可以設置篡改檢測,如果一個未經授權的實體試圖透過物理攻擊訪問密鑰,則執行下列其一的操作:

.中斷正在運行的代碼;

.重定晶片;

.永久性磚化晶片;

選擇最後一個選項將刪除PUF重構資料(數位指紋),其意味著永遠無法重新生成密鑰加密密鑰,因此無法解密任何已經封裝的密鑰。加密的密鑰將永遠保持加密狀態。這是一個有效的核化選項,可確保任何未經授權的實體訪問藍牙密鑰。因此,藉由擴大實施,藍牙設備得到了最大程度的保護。

錯誤注入(Fault Injection)和側通道保護(Side Channel Protection)

Silicon Labs Secure Vault High部件針對多種變體的非侵入式差分功率分析(DPA)和電磁分析(EMA)都具有緩解措施,這些變體利用加密操作期間晶片雜散能量發射的檢測和測量以及複雜的統計分析來生成私鑰或密鑰。其加密演算法還針對差分故障分析(Differential Fault Analysis, DFA)和相關功率分析(Correlation Power Analysis, CPA)提供經過驗證的保護,這些類型的攻擊在過去並不常見,因為需要大量的專業知識和資金來執行。然而,現在公開市場上有一些工具能夠以可接受的價格和簡易的食譜模式輕鬆完成這些攻擊。

強化藍牙通訊安全性

藍牙技術仍會持續發展,隨之而來的是對更高安全性的需求。把鑰匙藏在海盜的箱子或在便利貼上不再是可行的選擇。在醫療、高價值資產追蹤、門禁控制等敏感產業,先進的安全功能,如PUF封裝密鑰和晶片篡改檢測不可或缺;資料隱私和設備身份識別更是至關重要的要求。

Silicon Labs的藍牙設備是獲得PSA 3級認證的無線SoC,同時完成了來自Riscure安全認證服務所提供的廣泛性獨立漏洞滲透測試,進一步證明安全特性的可靠度。藍牙密鑰的儲存安全由設備製造商在藍牙規範中自行決定,透過安全措施,可以確保藍牙設備安全堅若磐石。

(本文作者Rohit Ravichandran為Silicon Labs產品副經理;Jayanth Krishna為Silicon Labs資深產品經理)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!