輕鬆透過 SRAM 型 PUF 金鑰與 TrustZone 隔離能力,確保 IoT 安全無虞

作者:Majeed Ahmad

資料提供者:DigiKey 北美編輯群

以物聯網 (IoT) 為基礎打造的設計越來越複雜,需要改進解決方案來確保系統安全無虞,並監控本機與遠端遭受的無情攻擊。但資源有限的 IoT 裝置,在採用安全防護上的進度一直都很緩慢,而且只能採用鬆散架構的軟體修補程式,或是其他根據複雜密碼演算法製成的昂貴精密晶片。開發人員如果要更迅速地採用和實作安全功能,就需要更完善且更容易使用的解決方案。

為了達到嵌入式與 IoT 開發人員的安全需求,許多技術紛紛問世並逐漸進化,例如靜態隨機存取記憶體 (SRAM) 架構的實體不可複製功能 (PUF),以及 Arm 的 TrustZone。本文將介紹 PUF 與 TrustZone,以及如何透過 NXP SemiconductorsMicrochip Technology 和 Maxim Integrated 等廠商的解決方案,來運用這些技術。

SRAM PUF 技術

SRAM PUF 是一種能代替傳統密碼術的簡易型驗證技術,正逐漸整合到以安全為中心的晶片裡,例如 NXP 的 LPC55S6x 系列就在其中添加信任根與佈建 (圖 1)。

#NXP 的 LPC55S6x 系列 MCU 方塊圖圖 1:LPC55S6x 系列 MCU 的方塊圖顯示出 SRAM 架構 PUF 技術等安全建構模塊的整合作業。(圖片來源:NXP)

PUF 技術和金鑰儲存在非揮發性記憶體中的傳統作法不同,後者是 OEM 透過傳統的保險絲方法注入安全性金鑰,或是透過一次性可編程 (OTP) 記憶體技術來注入。PUF 技術則是使用 SRAM 位元單元固有的自然隨機電氣變化,將獨一無二的「指紋」變成祕密的密碼金鑰,可作為安全子系統的基礎。無論狀況為何,這個安全且高品質的金鑰,每次都能重新建構成相同的密碼金鑰。這個作法有許多優點:

  • 無需在可能不安全的環境中處理第三方金鑰
  • 生產晶片時不需要載入金鑰儲存與佈建系統
  • 可在後續的供應鏈階段中安裝,甚至能在已部署完成的裝置上改裝
  • 除非能實體取得個別 SRAM 晶片,否則幾乎無法破解這些安全金鑰
  • 金鑰僅會在有需要時才會產生,而且不會持續儲存在系統上
  • 金鑰不會永久儲存,而且裝置無作用時,金鑰也不會出現,因此攻擊者很難實際嘗試破壞記憶體的內容

Arm TrustZone

Arm Cortex®-M23 以及 Cortex-M33 處理平台中的 TrustZone 技術,針對超低功率嵌入式應用進行最佳化,能將許多關鍵安全例行作業置於受保護的環境,例如開機碼、安全設定、安全金鑰、加密資料庫和韌體更新等 (圖 2)。例如在可使用 TrustZone 功能的微控制器中,關鍵任務程式碼在從大型程式碼堆疊分離後,便徹底經過測試,以免因開發人員產生的錯誤而受到影響。

NXP 的 TrustZone 啟用多個軟體安全域示意圖圖 2:TrustZone 能啟用多個軟體安全域,而且會個別限制只有信任的軟體環境才能存取安全記憶體及 I/O。(圖片來源:NXP)

在機密資料與程式碼方面,TrustZone 確保安全性的方法是隔離軟體設計的關鍵部分,並在硬體監控器上執行該軟體,而且所在的環境會針對使用者層級的軟體進行讀寫保護。

TrustZone 能讓開發人員將記憶體分為安全和非安全區域,而且就算只是嘗試除錯,若未通過驗證,仍無法取得安全程式碼及資料。此外,處於非安全狀態的 CPU,只能從非安全記憶體來存取資料,也因此只能從非安全程式記憶體執行。

很重要的一點是,TrustZone 雖然提供這些安全性功能,但依然針對安全和非安全域保有低中斷延遲。而且,不會造成程式碼和週期的額外負荷,也不會施加虛擬化解決方案的複雜性。

PUF 和 TrustZone 的實體實作

NXP 整合了來自 PUF 發明者 Intrinsic ID 的硬 IP 以及支援的軟體資料庫,以在 LPC55Sxx 微控制器中實作 PUF (圖 3)。Intrinsic ID 的嵌入式硬體 IP (QuiddiKey),能處理金鑰的生成、儲存與佈建,以及元件的驗證和晶片資產管理。

NXP 整合了來自 Intrinsic ID 的硬 IP 與支援軟體資料庫的示意圖圖 3:NXP 整合了來自 Intrinsic ID 的硬 IP 和支援性軟體資料庫,以在 LPC55Sxx 微控制器中實作 PUF。IP 會處理金鑰的生成和管理。(圖片來源:Intrinsic ID)

NXP 也在 LPC55Sxx 微控制器中採用 TrustZone。TrustZone 採用以 CPU 為中心的做法來保障 IoT 安全性,此做法能將嵌入式設計的安全部分與非安全部分隔離。

舉例來說,就如同 Microchip Technology 的 SAM L10/11 微控制器的實作情況,TrustZone 會提供涵蓋整個系統的防護,並將 IoT 設計區分成安全狀態和非安全狀態。但安全和非安全程式碼都是在單一 CPU 上執行,以達到高效率的嵌入式實作。

這個以 CPU 為中心的做法很重要,因為現代微控制器內的軟體數量快速成長,並以通訊協定堆疊,為 Wi-Fi、藍牙和傳輸層安全性 (TLS) 等連線技術提供服務。程式碼基底規模越來越大,使得 IoT 裝置暴露於惡意攻擊的風險大幅提高。舉例來說,如果智慧住家與大樓裡的協定堆疊受損,連線的門鎖、車庫門開啟器和保全攝影機就岌岌可危。

但是,如果 IoT 開發人員將關鍵任務型程式碼移到 TrustZone 防護環境裡,即使是第三方協定堆疊中的錯誤,也不會嚴重影響到裝置功能。

板級安全性

IoT 安全性典範中另一個明顯的型態與公版設計的可用性有關,公版設計能克服安全性及通訊協定方面的複雜性,藉此簡化邊緣對邊緣以及雲端對邊緣的通訊。Maxim Integrated 的 MAXREFDES155# DeepCover® 公版設計,以及 Microchip 的 AC164164 PIC®-IoT WG 開發板,就是很好的範例。

MAXREFDES155# 安全設計使用一條 300 mm 纜線,將 Arm mbed™ 擴充板板連接到感測器端點。此感測器端點包含 DS28C36 DeepCover 安全驗證器、紅外線 (IR) 熱感測器,以及紅外線感測器的瞄準雷射 (圖 4)。

Maxim Integrated 的 MAXREFDES155# DeepCover IoT 嵌入式安全性公板設計示意圖圖 4:Maxim Integrated 的 MAXREFDES155# DeepCover IoT 嵌入式安全性公版設計包含 Arm mbed 擴充板、透過 I2C 連接的感測器端點,以及透過 Wi-Fi 的雲端連線能力。(圖片來源:Maxim Integrated)

DS28C36 安全晶片提供兩個經過驗證的一般用途輸入/輸出 (GPIO) 引腳,還能選配安全狀態控制與位準感測功能。如此一來,IoT 開發人員能藉由經過驗證的電氣抹除式可編程唯讀記憶體 (EEPROM) 設定,以及 17 位元的遞減計數器,來監測並限制周邊裝置的使用。能從 DS28C36 獲得助益的應用,包括雙向驗證、系統資料 (如密碼金鑰) 的安全儲存、關鍵任務型資料驗證、安全啟動,以及終端產品的使用控制。

在 MAXREFDES155# 公版設計中,mbed 擴充板包含 DeepCover 安全性輔助處理器、Wi-Fi 通訊、液晶顯示器 (LCD)、按鈕控制項,以及狀態發光二極體 (LED)。此公版設計使用 MAX32600MBED# mbed 開發板進行即時測試,而此擴充板的 Wi-Fi 電路能促進與網路伺服器的通訊。

在 MAXREFDES155# 設計中,mbed 擴充板上的安全輔助處理器是 DS28C36 驗證器晶片的輔助元件。此元件有助於滿足與雜湊架構訊息驗證碼 (HMAC) 及橢圓曲線數位簽章演算法 (ECDSA) 運算有關的要求,這些都屬於 DS28C36 安全操作的一部分。

輔助處理器提供一套密碼工具核心組合,可協助 IoT 設計人員實作密碼引擎,並整合聯邦資訊處理標準/國家標準暨技術局 (FIPS/NIST) 真實亂數產生器 (RNG)。公共與私人安全金鑰會根據 NIST 定義的標準來運作,其中包括 FIPS 186,此 ECDSA 簽章生成與驗證機制可支援雙向非對稱金鑰驗證模式。

簡化雲端連結的安全性

Microchip 的 AC164164 PIC-IoT WG 開發板雖有類似的元素,但著重於簡化 IoT 節點與 Google Cloud 等雲端平台的連結。此開發平台以 Microchip 的 PIC 微控制器為基礎打造,並使用 ATECC608A 輔助處理器來處理大型軟體架構和即時作業系統 (RTOS) 平台伴隨而來的安全漏洞。

AC164164 IoT 設計平台的邊緣對雲端連結安全性可透過一個安全元件獲得保障,此元件已預先註冊 Google Cloud IoT Core 服務,而且隨時可搭配零接觸佈建進行使用。除了 ATECC608A 安全輔助處理器,此開發板還有 PIC24FJ128GA705 微控制器,能以更少的程式碼和更低的功耗來處理複雜的應用。

獲得完整認證的 IEEE 802.11b/g/n IoT Wi-Fi 控制器,將 IoT 節點連結到 Google Cloud。因此,IoT 開發人員無需擁有無線網路協定、安全性與硬體相容性的專業,就能實現安全的 IoT 產品設計。

結論

有了專業的安全晶片 (作為 IoT 設計中主處理器或微控制器的輔助晶片),開發人員無需成為安全專家,就能保護 IoT 節點及其與端點和雲端平台之間的連結。隨著 IoT 安全需求增加,PUF 和 TrustZone 等輔助技術的整合,進一步強化了低功耗、低成本微控制器的安全認證。

除此之外,公版設計與開發板在多種 IoT 應用中採取多重等級的嵌入式防護,能更輕易在安全防護上達到平衡。

 
DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

Image of Majeed Ahmad

Majeed Ahmad

Majeed Ahmad 是在 B2B 技術媒體領域具有超過 20 年資深經驗的電子工程師。他曾任 EE Times Asia (EE Times 的同門刊物) 的主編。

Majeed 完成六本電子領域的著作。他也經常在電子設計刊物發表文章,包括 All About Circuits、Electronic Products 以及 Embedded Computing Design。

關於出版者

DigiKey 北美編輯群