時刻保持安全

系統總有關機之時。有時是出於維護、省電或其他原因刻意關機。有時則是意外關機,而這是您要試著避免的情況。最重要的是,這種現象絕不能在系統啟動或關閉期間發生,因為此時,系統的防護難免較為鬆懈。

有相當完善的文件說明,可在系統一切正常時,協助您維持系統安全。但在系統啟動或關閉時就未必如此了,特別是意外斷電的時候。所以萬一遭逢不幸,該怎麼做呢?

答案很簡單,就是確保在 MCU 的設計中納入所有最新安全功能。而困難之處在於判定實際情況為何,特別是相關標準與功能也日新月異,而且惡意人士似乎也越來越狡猾。如需深入瞭解此技術,請閱讀《IoT 應用的安全微控制器剖析》文章。

圖 1:此圖顯示工業平台中的保護邊界區域。(圖片來源:Maxim Integrated Products)

在典型的「安全」設計中,所有嵌入式安全建構模塊都在共同邊界內運作。在這個安全保護層級中,最上層涉及到加密和硬體安全性等技術 (圖 1)。此邊界會將身份驗證金鑰與軟體隔開,如此應可預防駭客發動攻擊,包括在系統開關機期間可能發生的攻擊。但若是移除電源,系統一定要以正確的順序開機,也就是先載入安全功能,避開虎視耽耽的攻擊。

Renesas 的 RX 系列元件 (如 RX651 微控制器) 使用信任根實作安全性。這是系統設計人員處理開關機問題的一種方式。透過信任根,系統知道必須以特定的順序進行開關機。系統會讀取加密的關鍵字,藉此向系統其他部位提供「一切安全」的訊號。

此外,RX651 MCU 也透過整合可信賴安全 IP (TSIP) 和可信賴快閃區域保護功能來因應安全疑慮,能透過安全網路通訊在現場更新快閃韌體。TSIP 提供完善的金鑰管理、加密通訊及篡改偵測能力,可確保針對竊聽、竄改和病毒等外部威脅提供強大的安全防護。

第二種安全方法目前相當受到歡迎,那就是 Arm 的 TrustZone,能將關鍵的安全韌體和隱私資訊 (例如安全啟動、韌體更新和金鑰),與應用的其餘部分隔開。此方法其實是將 MCU 分為兩個部分,有個部分會完全安全,用來儲存加密金鑰等等,而另一個部分則部署用於一般用途的活動。這兩個部分會保持隔離,因而能防止他人篡改。

STMicroelectronicsSTM32MP151A 就是運用 TrustZone 的 MCU 之一。此產品採用 Arm Cortex-A7 32 位元 RISC 核心,工作頻率高達 650 MHz,且包含 32 KB 指令和資料快取,以及 256 KB 第二階快取。板載記憶體保護單元 (MPU) 可增強應用安全性,如今也納入到嵌入式 TrustZone 技術中。

確保安全的其他做法

另一個裝置範例則是 MicrochipATECC608A 安全元件,可獨立於 MCU 工作 (圖 2)。此裝置具有亂數產生器 (RNG),可生成獨特的金鑰,同時符合美國國家標準暨技術局 (NIST) 的最新要求。此外,還具備加密加速器,例如 AES-128、SHA-256 以及 ECC P-256,以進行相互身份驗證。

圖 2:Microchip 的 ATECC608A 是加密輔助處理器,可搭配 MCU 一同運作。此裝置提供安全的硬體式金鑰儲存功能。(圖片來源:Microchip)

雖然此元件已內建鉤子,可支援 Microchip 豐富的 MCU 系列,但元件本身獨立於任何微處理器或微控制器。此元件需要的功率非常低,且僅需單一 GPIO 即可在寬廣的電壓範圍內運作。尺寸小巧,採用 8 焊墊 UDFN 或 8 引線 SOIC 封裝,因而可輕鬆地設計在板件上。

如您所見,保障系統安全的方法有很多。挑選最適合您的應用的方法。

關於作者

Image of Richard Nass

Richard Nass 的主要職責是針對 OpenSystems Media 的嵌入式 IoT 產品組合各個層面確立方向,包括嵌入式運算設計、嵌入式學院,以及眾多數位、紙本媒體與現場活動。Nass 之前曾是 UBM 旗下獲獎肯定之 Design News 的品牌總監。除此之外,也曾領導 UBM Canon 的醫療器材事業部內容團隊,以及客製化項目與活動。Nass 在工程 OEM 產業已經累積超過 30 年的資歷。早期的資歷曾領導 EE Times 的內容團隊處理嵌入式與自訂產品組別業務,也領導設計工程網站 TechOnline DesignLine。Nass 擁有紐澤西理工學院的電機工程學士學位。

More posts by Richard Nass
 TechForum

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

Visit TechForum