如何使用 Silicon Labs PG23 MCU 設計安全的低功率邊緣 IoT 裝置

作者:Jacob Beningo

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

負責設計電燈開關、抄表器、智慧鎖、太陽能逆變器、保全面板等各式消費性與工業邊緣物聯網 (IoT) 應用的設計人員,需要在高效能和低功率之間取得適當平衡 (尤其在電池供電式設計上),同時還必須確保這些實作安全無虞。在許多情況下,此類設計的基礎是微控制器 (MCU),因此設計人員必須審慎思考要使用哪一款微控制器。

除了能否可靠地支援安全性,要考慮的因素還包括處理器核心效能、效率、周邊裝置及 I/O 支援、整體尺寸、生態系統支援。雖然 MCU 可能在效能、功率方面符合設計要求,但安全設計的實作仍有其學習曲線,這可能會造成時程延誤或導致安全性未得到充分實作。

本文將簡短探討邊緣 IoT 裝置的安全注意事項。接著,我們會介紹 Silicon Labs EFM32PG23 MCU,示範如何將其運用於安全的邊緣 IoT 設計,並特別著重在低功率的特性。

IoT 裝置的安全問題

針對連網裝置的遠端攻擊數量有增無減。嵌入式應用的開發人員可能會認為他們的 IoT 邊緣裝置不需要顧及安全性,因為當中並沒有「任何重要資產」。事實上,幾乎每台裝置都包含駭客可能認為有價值的內容,像是感測器數據、客戶資料、裝置上實際使用的韌體,或是裝置提供的存取權,可以此當作後門通往相連網路。安全性是至關重要的功能,必須從一開始就設計到每台 IoT 邊緣裝置中,而不是在設計週期尾聲才安插到系統上。否則,裝置就極易受到攻擊。

每台 IoT 邊緣裝置都有幾個需要考量的安全性範疇,例如裝置識別、裝置配置、軟體/韌體更新。圖 1 列出了常見的隱憂,以及這些隱憂如何轉化為裝置的安全需求。每項安全需求都有一種常用的相關技術,可滿足該需求並阻止潛在的攻擊者。

隱憂 安全需求 技術
裝置識別 IoT 裝置可以在邏輯上和實體上達到獨一無二的識別。 安全證明
裝置配置 IoT 裝置的軟體和韌體配置可以變更,但此類變更只能由獲得授權的實體執行。 安全升級
軟體及韌體更新 IoT 裝置的軟體和韌體只能由授權的實體透過安全、可設定的機制進行更新。
資料保護 IoT 裝置可以保護其儲存、傳輸的資料,杜絕未經授權的存取和修改。 安全金鑰管理
對介面的邏輯存取 IoT 裝置可以將其本機介面、網路介面限制為只有授權的實體才可進行邏輯存取。 安全偵錯
軟體及韌體更新 IoT 裝置的軟體和韌體只能由授權的實體透過安全、可設定的機制進行更新。 安全升級
網路安全事件記錄 IoT 裝置可以記錄網路安全事件,並將記錄檔限制為僅供授權實體存取。 防竄改
軟體完整性 系統會記錄違反安全性的嘗試,開發人員可以選擇適當的系統反制技術來保護安全性。 安全啟動

圖 1:邊緣 IoT 應用的設計人員必須考慮的安全隱憂、需求、相關技術不在少數。(圖片來源:Silicon Labs)

許多開發 IoT 邊緣應用的嵌入式團隊面臨的一大問題在於,團隊內部沒有安全性的專業知識。因此,必須請內部人員盡最大努力學習、實作安全性,或是藉助外部資源。無論採取哪種方式,成本和時間都可能相當可觀。

幸好還有另一種選擇:開發團隊可以選用有將安全性納入設計考量的 MCU,只需對手邊的應用進行少許配置調整,就能實現即用型安全解決方案。

Silicon Labs PG23 系列 MCU 元件介紹

Silicon Labs EFM32PG23 系列微控制器對 IoT 邊緣裝置應用來說是蠻有意思的選擇,原因有以下幾點。首先,PG23 MCU 可以執行 Silicon Labs 自家的 Secure Vault IoT 安全解決方案。Secure Vault 是具前瞻性的 IoT 裝置保護平台,近期已成為第一個獲得 PSA 第 3 級認證的 IoT 安全解決方案。Secure Vault 可為 PG23 MCU 帶來諸多功能,其中包括安全裝置識別、安全金鑰管理與儲存、進階竄改偵測。

Secure Vault 運用由物理不可複製函數 (PUF) 產生的獨特數位指紋。PUF 可用於建立 AES 對稱金鑰,此金鑰在系統電源關閉時會不著痕跡地消失。當晶片關閉時,AES 對稱金鑰甚至根本不存在,因此無法從裝置中移除。PUF 對許多 IoT 邊緣應用來說是有效的解決方案,能夠因應這些應用所面臨的金鑰管理挑戰。事實上,為了支援應用,PUF 可依需求擴充以支援更多金鑰。Secure Vault 亦包含竄改偵測系統,一旦裝置在竄改事件後關機,就無法重建金鑰。主要的安全功能大致如下:

  • 安全證明
  • 安全金鑰管理
  • 安全金鑰儲存
  • 防竄改

PG23 MCU 非常適合 IoT 邊緣應用的另一個原因在於,專為低功率應用而設計。PG23 的有功電流消耗為 21 µA/MHz。在 EM2 模式下啟用 16 KB RAM 時,電流消耗為 1.03 µA,而在 EM4 模式下啟用即時時脈 (RTC) 時,電流消耗為 0.7 µA。如此低的電流消耗能協助開發人員設計節能裝置,無論是以牆上插座還是電池供電皆可。

本文要探討的 PG23 最後一個特性是 MCU 的功能。PG23 具有時脈高達 80 MHz 的 Arm® Cortex®-M33 處理器。此處理器可以使用單一電源供應器,在 1.71 V 至 3.8 V 範圍內運作。負責感測器應用的開發人員可以利用它的低能耗感測器介面 (LESENSE)。此 MCU 採用尺寸為 5 mm × 5 mm 的 40 引腳 QFN 封裝,或尺寸為 6 mm × 6 mm 的 48 引腳 QFN 封裝。PG23 的方塊圖如圖 2 所示。MCU 也有五種電源狀態:EM0 運作模式、EM1 睡眠模式、EM2 深度睡眠模式、EM3 停止模式、EM4 關閉模式。

示意圖:Silicon Labs PG23 MCU 具有各式各樣的周邊裝置 (按此放大)圖 2:PG23 MCU 具有多種周邊裝置、記憶體、節能模式。(圖片來源:Silicon Labs)

透過 PG23-PK2504A 開發板快速上手

快速熟悉 PG23 的最佳方式是使用 PG23-PK2504A 開發板。此板搭載 EFM32PG23B310F512 處理器,還具有自己的 512 KB 快閃記憶體和 64 KB RAM。開發板包含各種板載感測器、介面和 4×10 段 LCD (圖 3)。

Silicon Labs PG23-2504A 開發板示意圖圖 3:PG23-2504A 開發板配備 EFM32PG23 MCU、4×10 段 LCD、溫濕度感測器、參考電壓、擴充介面。(圖片來源:Silicon Labs)

取得開發板後,開發人員可以下載並安裝 Simplicity Studio (在「Getting Started」分頁下方)。使用 Simplicity Studio,您可以獲得 EFM32 微控制器在評估、設定、開發方面所需的一切。這套軟體包含入門材料、文件、相容工具和資源。

當開發人員開啟 Simplicity Studio 並插入開發板後,軟體就可辨識開發板,並提供範例專案、文件、示範等建議 (圖 4)。接著,開發人員便能選擇最適合自己的途徑,開始實驗 PG23 的各項功能。

Silicon Labs Simplicity Studio 的圖片 (按此放大)圖 4:Silicon Labs Simplicity Studio 可偵測開發板,並提供入門指南、文件、範例專案等客製化建議。(圖片來源:Silicon Labs)

PG23-PK2504A 開發板上值得一提的一大特點,就是能夠決定開發板供電方式的開關。供電方式共有兩種選擇:AEM 或 BAT (圖 5)。在 AEM 模式下,電流感測電阻會與 LDO 電源供應器和 PG23 串聯。這種模式的優點在於開發人員可以測量處理器的電流消耗,協助進行功耗最佳化。應用達到最佳化後,開發人員可以切換到 BAT 模式,使用鈕扣型電池供電給開發板。

Silicon Labs PG23-PK2504A 可選擇透過 USB-C 為電路板供電示意圖圖 5:PG23-PK2504A 可選擇在 AEM 模式下透過 USB-C 供電給電路板,如此即可測量處理器的電流。或者,處理器也可透過 CR2032 鈕扣型電池供電。(圖片來源:Silicon Labs)

降低 IoT 應用用電量的提示與訣竅

無論是否由電池供電,降低能源消耗對每一個 IoT 邊緣設計來說都舉足輕重。如果開發人員不夠謹慎,要改善設計的用電量可能會非常耗時。以下為幾項開發人員需謹記的「提示與訣竅」,如此便能協助您快速進行最佳化、實現低功率 IoT 應用:

  • 使用事件導向的軟體架構。在系統並未處理事件時,讓其進入低功率狀態。
  • 分析系統在數個充電/放電循環內的電池消耗情形。記錄電流消耗和工作電壓,並繪製出長時間的變化。
  • 利用低功率模式自動停用時脈、周邊裝置、CPU。
  • 在簡單的應用中,嘗試使用 Arm Cortex-M「退出時休眠」(sleep on exit) 功能,盡可能降低喚醒系統時的中斷性額外負荷。
  • 如有使用 RTOS,請利用其「Tickless」模式來防止 RTOS 不慎喚醒系統。
  • 進行迭代最佳化時,請追蹤每次變更後的節能效果。到了某種程度,開發人員會碰上一個「轉折點」,耗費大把時間進行最佳化在節能方面的投資報酬率開始變低。這時候該停止最佳化並進入下一階段了。

開發人員若遵循這些「提示與訣竅」,便可從一開始省下很多時間與麻煩,順利開發出下一款安全、低功率的 IoT 設計。

結論

IoT 邊緣應用對安全、低功率 MCU 的需求正在增加。除了能否可靠地支援安全性,為了滿足邊緣式設計的需求,設計人員要考慮的因素還包括處理器核心效能、效率、周邊裝置及 I/O 支援、整體尺寸、生態系統支援。

如本文所述,Silicon Labs EFM32PG23 MCU 可以協助開發人員解決與低功率設計、裝置安全性相關的諸多問題。配套的開發板則提供快速上手所需的所有工具,接著只要遵循幾項重要的「提示與訣竅」,就能快速實作低功率設計。

DigiKey logo

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

關於作者

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo 是嵌入式軟體顧問,目前與超過十幾個國家的客戶合作,透過產品品質、成本和上市時間的改善,促成業務的大幅轉型。他曾在嵌入式軟體開發技術上發表超過兩百篇文章,是深思熟慮的講師和技術培訓師,共擁有三個學位,包括密西根大學的工程碩士學位。歡迎透過以下方法洽詢,電郵:[email protected]、網站:www.beningo.com,亦可登記取得他發行的Embedded Bytes 每月電子報

關於出版者

DigiKey 北美編輯群