時刻保持安全
系統總有關機之時。有時是出於維護、省電或其他原因刻意關機。有時則是意外關機,而這是您要試著避免的情況。最重要的是,這種現象絕不能在系統啟動或關閉期間發生,因為此時,系統的防護難免較為鬆懈。
有相當完善的文件說明,可在系統一切正常時,協助您維持系統安全。但在系統啟動或關閉時就未必如此了,特別是意外斷電的時候。所以萬一遭逢不幸,該怎麼做呢?
答案很簡單,就是確保在 MCU 的設計中納入所有最新安全功能。而困難之處在於判定實際情況為何,特別是相關標準與功能也日新月異,而且惡意人士似乎也越來越狡猾。如需深入瞭解此技術,請閱讀《IoT 應用的安全微控制器剖析》文章。
圖 1:此圖顯示工業平台中的保護邊界區域。(圖片來源:Maxim Integrated Products)
在典型的「安全」設計中,所有嵌入式安全建構模塊都在共同邊界內運作。在這個安全保護層級中,最上層涉及到加密和硬體安全性等技術 (圖 1)。此邊界會將身份驗證金鑰與軟體隔開,如此應可預防駭客發動攻擊,包括在系統開關機期間可能發生的攻擊。但若是移除電源,系統一定要以正確的順序開機,也就是先載入安全功能,避開虎視耽耽的攻擊。
Renesas 的 RX 系列元件 (如 RX651 微控制器) 使用信任根實作安全性。這是系統設計人員處理開關機問題的一種方式。透過信任根,系統知道必須以特定的順序進行開關機。系統會讀取加密的關鍵字,藉此向系統其他部位提供「一切安全」的訊號。
此外,RX651 MCU 也透過整合可信賴安全 IP (TSIP) 和可信賴快閃區域保護功能來因應安全疑慮,能透過安全網路通訊在現場更新快閃韌體。TSIP 提供完善的金鑰管理、加密通訊及篡改偵測能力,可確保針對竊聽、竄改和病毒等外部威脅提供強大的安全防護。
第二種安全方法目前相當受到歡迎,那就是 Arm 的 TrustZone,能將關鍵的安全韌體和隱私資訊 (例如安全啟動、韌體更新和金鑰),與應用的其餘部分隔開。此方法其實是將 MCU 分為兩個部分,有個部分會完全安全,用來儲存加密金鑰等等,而另一個部分則部署用於一般用途的活動。這兩個部分會保持隔離,因而能防止他人篡改。
STMicroelectronics 的 STM32MP151A 就是運用 TrustZone 的 MCU 之一。此產品採用 Arm Cortex-A7 32 位元 RISC 核心,工作頻率高達 650 MHz,且包含 32 KB 指令和資料快取,以及 256 KB 第二階快取。板載記憶體保護單元 (MPU) 可增強應用安全性,如今也納入到嵌入式 TrustZone 技術中。
確保安全的其他做法
另一個裝置範例則是 Microchip 的 ATECC608A 安全元件,可獨立於 MCU 工作 (圖 2)。此裝置具有亂數產生器 (RNG),可生成獨特的金鑰,同時符合美國國家標準暨技術局 (NIST) 的最新要求。此外,還具備加密加速器,例如 AES-128、SHA-256 以及 ECC P-256,以進行相互身份驗證。
圖 2:Microchip 的 ATECC608A 是加密輔助處理器,可搭配 MCU 一同運作。此裝置提供安全的硬體式金鑰儲存功能。(圖片來源:Microchip)
雖然此元件已內建鉤子,可支援 Microchip 豐富的 MCU 系列,但元件本身獨立於任何微處理器或微控制器。此元件需要的功率非常低,且僅需單一 GPIO 即可在寬廣的電壓範圍內運作。尺寸小巧,採用 8 焊墊 UDFN 或 8 引線 SOIC 封裝,因而可輕鬆地設計在板件上。
如您所見,保障系統安全的方法有很多。挑選最適合您的應用的方法。

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum