安全元件 OTP DFA PUF 物理不可複製功能

超越微控制器內建防禦 安全元件加碼嵌入式設計防護

2025-10-23
微控制器雖日益整合安全功能,但不同型號防護力差異大。安全元件以專用IC形式提供更高層級的實體隔離、金鑰保護及抗物理攻擊能力。其優勢在於能減少設計負擔、強化金鑰與執行流程防護,並整合PUF技術抵禦故障與側通道攻擊。安全元件是否必要,端視系統風險評估與產品壽命而定,應採審慎保守策略,以確保長期安全。

隨著越來越多的微控制器嵌入了安全特性,可為設計人員帶來更高便利性。但不同供應商、不同系列甚至同系列不同型號的微控制器的安全防護能力可能存在差異,導致元件不一定能實現應用的安全目標。雖然整合安全特性的微控制器能夠便捷地提供安全防護,但專門打造的硬體安全元件(又稱硬體信任根或安全認證器)能為敏感性資料和重要操作提供專用且優化的安全保障。

本應用筆記探討了安全元件的關鍵優勢,包括隔離的加密處理、抵禦物理攻擊和軟體攻擊的能力、符合業界標準且易於整合到系統中的特性。借助安全元件的特有能力,開發人員可在減少設計工作量的同時,為系統提供強大的安全保護。

安全元件是執行加密功能並安全儲存金鑰和憑證以防篡改的專用IC,通常用於嵌入式應用,在大多數情況下透過串列匯流排(如I2C或SPI)連接到主機微控制器。安全元件的設計初衷是以盡可能少的設計工作量實現系統的升級。安全元件的特別優勢,在於其能在不更改處理器和架構的情況下提升系統安全性,進而避免全面重新設計帶來的大量工作。

圖1 安全元件概念

安全元件是否仍有必要?
隨著安全需求的增加,大多數微控制器供應商選擇在微控制器中嵌入加密和安全功能,例如:

  • 數位簽章運算和驗證
  • 加密
  • 安全儲存
  • 亂數產生

如果已經有了這些整合的安全建構模組,額外的安全元件相對於通用微控制器的安全功能來說是否顯得多餘?本文的分析顯示,這個問題並沒有一個簡單的答案。二者的異同點如下所示。

隔離
一般來說,安全關鍵型韌體應與其他軟體隔離,如此作法具有以下優勢:

  • 透過隔離,可實現精簡且專注於安全防護的韌體,與複雜、功能繁多的作業系統分離,進而減小潛在的攻擊面。
  • 精簡的軟體結構有助於降低漏洞風險,避免攻擊者利用漏洞獲取敏感性資料或繞過安全機制。
  • 提升安全保障,因為較小規模的軟體程式碼便於進行全面審查,而要對整個韌體進行程式碼審查,難度會非常大。

在微控制器中,可透過多種機制實現隔離。Arm TrustZone是廣泛使用的一種機制;MCU和MPU也很常見。雖然這些隔離機制很有價值,但能否抵禦突刺攻擊等攻擊技術則取決於具體的實現方式[1]。此外,硬體隔離要想真正見效,必須配合正確的配置和軟體設計。例如安全區和非安全區的記憶體邊界必須明確劃定,因為配置不當就可能帶來安全隱患。

圖2 TrustZone與安全元件的結合

使用安全元件的優勢在於其隔離機制是實體層面的,無法被攻破。微控制器上運行的韌體無法干擾安全元件中運行的韌體。雙晶片架構提供的隔離比仰賴微控制器內部機制實現的隔離更為穩健。另外也可以將微控制器的內部隔離機制與安全元件相互結合。例如,調用了安全元件的安全關鍵型軟體可在Arm TrustZone所創建的可信執行環境(TEE)中運行,進而增強整體安全水準。

加密運算的功能考量
目前,大多數實現方案所採用的加密演算法都已獲得專家社群或權威機構(如NIST或BSI)的認可。如果微控制器和安全元件的加密實現方案均符合相關標準,那麼從功能角度來看,二者並無區別。在這種情況下,安全元件所帶來的價值可能並未超過微控制器內建的安全功能。不過,同時應該檢查實現方案是否合規。例如,NIST加密演算法驗證專案(CAVP)可保證IC中實現的加密演算法符合標準。其他認證方案也能提供類似程度的合規保證。

金鑰的安全儲存
如上所述,現代加密演算法是公開的。事實證明,這種方式優於專有演算法。但這也表示,一旦私密金鑰或金鑰洩露,整個安全體系將失效,因為金鑰是安全嵌入式系統中最核心的資產。在微控制器中,金鑰通常儲存在快閃記憶體或OTP中。上述邏輯隔離機制能為這些金鑰提供保護。

邏輯隔離雖然能提供初步的安全防護,但其強度不及物理隔離。邏輯硬體保護機制可能會被物理攻擊攻破,例如透過突刺或雷射光束進行故障注入。突刺攻擊[1]不需要昂貴的設備,也不需要高深的理論知識就能進行,因此危害極大。

讀取快閃記憶體或OTP內容以存取私密金鑰或金鑰,只需使用價格相對低廉的設備即可實現,且無需具備專家等級的高深知識[2]。相較於側通道攻擊或故障注入攻擊,雖然讀取快閃記憶體或OTP需要投入更多資金和時間,但並非如想像的高不可攀。一些大學或研究實驗室就配備了掃描電子顯微鏡等設備,而且相關技術在公開文獻中就有詳盡說明。通常,如果破解的獲益相對於投入成本而言夠高[2],心存動機的駭客就會投入必要的時間和金錢來試圖獲取金鑰。

相較於標準快閃記憶體,安全元件在儲存安全性方面具有更高的抗攻擊能力。得益於增強式加密技術,攻擊者即使讀出了NVM內容,也無法提取金鑰。由於記憶體加密金鑰本身可能就是擷取的目標,因此金鑰實際上不是儲存在NVM中,而是由ChipDNA物理不可複製功能(Physical Unclonable Function, PUF)生成。所以,讀取快閃記憶體或OTP的技術無法奏效,因為:

  • 記憶體加密金鑰並非儲存在NVM中。
  • 晶片未上電時,記憶體加密金鑰並不存在。

PUF一旦嵌入微控制器或安全元件中,就能非常可靠地保障金鑰或敏感資訊的儲存安全。如果風險評估顯示系統需要具備較強的抵禦物理攻擊的能力,那麼採用基於PUF的安全儲存方案便是理想選擇。然而,如果微控制器中沒有PUF,那麼增加安全元件則能實現最高等級的物理攻擊防護能力。

圖3 讀取快閃記憶體中儲存的內容

將金鑰搭載最終產品中
某些微控制器具有支援PUF的高安全記憶體。然而,將金鑰注入MCU的受保護記憶體可能是一個難點。一般來說,為將金鑰注入MCU中,需要一個具有物理安全防護的設施來操作金鑰。但由於並非所有OEM都有能力自建安全設施,因此如果依賴供應商,情況會更加複雜。

加密運算的強固性
加密演算法的實現即使在功能上是正確的,也可能成為側通道攻擊或故障攻擊的目標。側通道攻擊是指監測加密運算過程中無意洩漏的訊號,再運用訊號處理技術擷取運算所使用的金鑰。

對於未加保護的實現方案,業界普遍認為,即便攻擊者僅具備中等技術水準(例如在校大學生)並使用廉價設備(如數位示波器),也能在不到一天的時間內成功從微控制器中擷取金鑰。

無論是硬體還是軟體實現的加密演算法,都可能遭受側通道攻擊。業界已公開多起針對這兩類實現方式的成功攻擊事件。MCU上運行的軟體加密庫未必不安全,但未採用「安全設計」原則的實現方案本身即容易受到攻擊。不同產品的抗攻擊能力參差不齊,然而微控制器的供應商不一定會公開其產品支援的防護等級。

另一類漏洞是故障注入引發的加密金鑰恢復。故障注入是指透過突刺、雷射光束或電磁脈衝等手段故意改變IC的行為。例如,電源接腳上的突刺可能會導致時序違規,進而造成加密運算出現錯誤。熟練的攻擊者可以在特定的加密運算步驟中應用突刺。透過收集多個故障運算樣本,並分析其與正常運算的差異,攻擊者可以破解出金鑰,例如AES金鑰[3]。這種方法被稱為差分故障分析(DFA)。

安全元件是專門設計的專業IC,通常採用硬體與軟體機制相結合的方式,以實現抵禦側通道攻擊和故障攻擊的強大防護,保障金鑰或私密金鑰不被竊取。

控制執行流程
支援加密和安全防護的應用通常包含決策機制。例如,在用戶成功通過身份驗證後,會授予該使用者存取記憶體內容等資源的許可權。攻擊者往往不會直接攻擊加密演算法的實現方案,因為這需要專業的密碼學知識。相反的,攻擊者更可能試圖操控決策環節,讓程式按照他們期望的方式運行。注入故障以強制測試結果執行錯誤的分支是一種常見的攻擊途徑。

其他攻擊包括:

  • 跳過指令或一組指令
  • 操縱程式計數器
  • 破壞匯流排上的位址或資料

這可能造成嚴重的後果,包括獲得特權存取權限、未經授權洩漏金鑰和密文、注入惡意軟體或一般性的異常行為,最嚴重的情況甚至可能危及人身安全。

目前已有因應攻擊者操縱控制流程的防禦手段,其主要基於備援機制實現,具體形式則有許多種。在軟體中,防禦手段可以是分支測試重複、備援指令插入或具有計數器的專用函式呼叫[4]。在硬體中,防禦手段可以包括對狀態機進行特定編碼或使用備援暫存器。

通常,當攻擊者製造漏洞時,備援分支操作或測試會予以補償,或將微控制器置於安全狀態。

軟體防禦手段的缺點是建置需要專業技能,並且這通常不是自動化的,因此需要額外的研發投入,同時,還會增加程式碼規模,對性能產生負面影響。安全元件通常會嵌入硬體和軟體保護,以防範攻擊者操縱控制流程。因此,透過將敏感操作委託給安全元件,應用開發人員將可以更進一步防範針對控制執行流程的攻擊。

安全防護有效緩解風險
本文列出了針對嵌入式系統的幾種常見攻擊,並概述了微控制器和/或安全元件支援的防禦手段。那麼,設計中究竟是否需要用到安全元件?答案是不能一概而論。

嵌入式產品安全防護是一種風險緩解策略,目的在保護產品智慧財產權、客戶資料、企業聲譽、收入等免受損失。面對不斷變化的威脅,嵌入式產品安全防護必須在產品的整個生命週期中持續提供有效的保護。有些產品的使用壽命可能只有幾個月,有些則長達數十年,因此不能採用一體適用的方法。產品設計人員在建置安全方案時應抱持審慎保守的策略,以確保產品的安全防護機制能夠長久抵禦不斷演變的威脅。安全元件只是產品安全工具箱中的一個工具,使用與否需由產品開發人員根據具體情況決定。

(本文作者任職於ADI)

參.考.資.料

[1] G. F. O. f. I. S. (BSI), "A Study on Hardware Attacks against Microcontrollers," 17 03 2023.
[Online].Available:https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/Studies/Hardware-Attacks/Hardware-Attacks-Microcontroller.html. [Accessed May 28, 2024].
[2] S. S. a. C. W. Franck Courbon, "Reverse Engineering Flash EEPROM Memories Using Scanning Electron Microscopy," CARDIS 2016: Smart Card Research and Advanced
Applications, 2016.
[3] Limited Results, "Nuvoton M2351 MKROM," 12 January 2020. [Online]. Available:
https://limitedresults.com/2020/01/nuvoton-m2351-mkrom-armv8-m-trustzone/. [Accessed
May 31, 2024].
[4] K. H. P. B. Jean-Fran ̧cois Lalande, "Software countermeasures for control flow integrity of smart card C codes," in 19th European Symposium on Research in Computer Security,
Wroclaw Poland, 2014.
[5] J. Fruhlinger, "Threat modeling explained: A process for anticipating cyber attacks," CSO,April 2020. 
[Online]. Available: https://www.csoonline.com/article/569225/threat-modeling-
explained-a-process-for-anticipating-cyber-attacks.html. [Accessed July 25, 2024].

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

我知道了!