作者:Jacob Beningo
對(duì)于一些列消費(fèi)和工業(yè)邊緣物聯(lián)網(wǎng) (IoT)應(yīng)用的設(shè)計(jì)者來說,從電燈開關(guān)、抄表機(jī)和智能鎖到太陽能逆變器和安全面板,都需要在高性能和低功耗之間權(quán)衡利弊,找到一個(gè)合適的平衡點(diǎn),特別是在進(jìn)行電池供電設(shè)計(jì)時(shí),同時(shí)還要確保其實(shí)施的安全性。許多情況下,這類設(shè)計(jì)基于微控制器(MCU),所以設(shè)計(jì)者必須認(rèn)真考慮使用哪一種微控制器。
除了堅(jiān)定支持安全外,還需考慮處理器內(nèi)核性能、能效、外設(shè)和 I/O 支持、整體外形尺寸以及生態(tài)系統(tǒng)支持。雖然 MCU可能在性能和功率方面滿足設(shè)計(jì)要求,但安全設(shè)計(jì)的實(shí)施有一個(gè)學(xué)習(xí)曲線,這可能會(huì)造成延遲或?qū)е聼o法充分地實(shí)施安全。
本文將簡(jiǎn)要討論邊緣物聯(lián)網(wǎng)設(shè)備的安全注意事項(xiàng)。然后,介紹 Silicon Labs 的 EFM32PG23 MCU,展示如何在強(qiáng)調(diào)低功耗的同時(shí),將其應(yīng)用于安全邊緣物聯(lián)網(wǎng)設(shè)計(jì)。
物聯(lián)網(wǎng)設(shè)備的安全問題
互聯(lián)網(wǎng)連接設(shè)備受到的遠(yuǎn)程攻擊數(shù)量在持續(xù)上升。嵌入式開發(fā)人員可能會(huì)認(rèn)為,他們的物聯(lián)網(wǎng)邊緣設(shè)備不需要安全,因?yàn)檫@些設(shè)備中沒有“任何有價(jià)值的東西”。事實(shí)上,黑客能在幾乎每臺(tái)設(shè)備中發(fā)現(xiàn)有價(jià)值的東西,無論是傳感器數(shù)據(jù)、客戶數(shù)據(jù)、設(shè)備上的實(shí)際固件,還是設(shè)備作為連接網(wǎng)絡(luò)的后門提供的權(quán)限。安全是關(guān)鍵功能,必須從一開始就設(shè)計(jì)到每個(gè)物聯(lián)網(wǎng)邊緣設(shè)備中:不應(yīng)在設(shè)計(jì)周期結(jié)束時(shí)才將安全綁到系統(tǒng)上。否則,該設(shè)備將極易受到攻擊。
每個(gè)物聯(lián)網(wǎng)邊緣設(shè)備都有幾個(gè)方面需要考慮安全,如設(shè)備識(shí)別、設(shè)備配置和軟件/固件更新等。圖 1所示為常見問題清單,以及這些問題如何轉(zhuǎn)化為設(shè)備安全要求。每個(gè)安全要求都有相關(guān)的技術(shù),通常用于滿足該要求并挫敗潛在的攻擊者。
對(duì)于很多開發(fā)物聯(lián)網(wǎng)邊緣應(yīng)用的嵌入式團(tuán)隊(duì)來講,缺乏內(nèi)部安全專業(yè)知識(shí)是個(gè)大問題。結(jié)果是他們要么在內(nèi)部盡最大努力學(xué)習(xí)并實(shí)施安全,要么利用外部資源。無論哪種方式,其成本和時(shí)間都可能異乎尋常。
還有一種選擇:開發(fā)團(tuán)隊(duì)可以選擇在設(shè)計(jì)時(shí)就考慮了安全問題的 MCU。這種 MCU 就是現(xiàn)成的安全解決方案,只需對(duì)手頭的應(yīng)用進(jìn)行小的配置調(diào)整。
Silicon Labs PG23 系列 MCU 器件簡(jiǎn)介
Silicon Labs EFM32PG23 系列微控制器是物聯(lián)網(wǎng)邊緣設(shè)備應(yīng)用的一個(gè)有趣選擇,原因如下。首先,PG23 MCU 可以運(yùn)行 Silicon Labs 自己的 Secure Vault 物聯(lián)網(wǎng)安全解決方案。Secure Vault 是一個(gè)保護(hù)物聯(lián)網(wǎng)設(shè)備安全和面向未來的平臺(tái),最近成為首個(gè)獲得 PSA認(rèn)證的 3 級(jí)物聯(lián)網(wǎng)安全解決方案。Secure Vault 為 PG23 MCU 帶來的一些功能包括安全設(shè)備身份、安全密鑰管理和存儲(chǔ),以及高級(jí)篡改檢測(cè)。
Secure Vault 利用了由物理不可克隆函數(shù) (PUF) 生成的獨(dú)特?cái)?shù)字指紋。PUF 可以用來創(chuàng)建 AES對(duì)稱密鑰,當(dāng)系統(tǒng)斷電時(shí),該密鑰會(huì)物理性地消失。當(dāng)芯片關(guān)閉時(shí),AES對(duì)稱密鑰甚至不存在,使其不可能從設(shè)備中移除。對(duì)于許多物聯(lián)網(wǎng)邊緣應(yīng)用面臨的密鑰管理挑戰(zhàn)而言,PUF 是一種有效解決方案。事實(shí)上,PUF可以擴(kuò)展,以支持某個(gè)應(yīng)用所需的盡可能多的密鑰。Secure Vault還包括一個(gè)篡改檢測(cè)系統(tǒng),能夠在設(shè)備發(fā)生篡改事件后即可將其關(guān)閉,使得鑰匙無法重建。主要安全特性總結(jié)如下:
安全認(rèn)證
安全密鑰管理
確保關(guān)鍵存儲(chǔ)安全
防篡改
PG23 MCU 非常適合物聯(lián)網(wǎng)邊緣應(yīng)用的另一個(gè)原因是其低功耗設(shè)計(jì)。PG23 的有效電流消耗為 21 微安每兆赫茲 (μA/MHz)。在 EM2模式下,16 千字節(jié) (KB) 的 RAM 處于激活狀態(tài),電流消耗為 1.03 μA;或者在 EM4 模式下,啟用實(shí)時(shí)時(shí)鐘 (RTC) 時(shí)電流消耗為 0.7μA。如此低的電流消耗水平有助于開發(fā)人員設(shè)計(jì)節(jié)能設(shè)備,無論是通過墻插電源還是電池供電。
本文要研究的 PG23 的最后一個(gè)特點(diǎn)是 MCU 能力。PG23 采用 Arm?Cortex?-M33 處理器,時(shí)鐘高達(dá) 80MHz。這款處理器可以在1.71 V 至 3.8 V 的范圍內(nèi)使用單電源工作。對(duì)于從事傳感器應(yīng)用的開發(fā)者來說,可使用低功耗傳感器接口 (LESENSE)。這款 MCU 采用 5×5mm 40 引腳 QFN 封裝或 6×6 mm 48 引腳 QFN 封裝。PG23 的方框圖見圖 2。這款 MCU 也有五個(gè)電源狀態(tài):運(yùn)行模式 EM0、睡眠模式
EM1、深度睡眠模式 EM2、停止模式 EM3 以及關(guān)斷模式 EM4。
PG23-PK2504A 開發(fā)板入門
PG23 入門的最好方法是使用 PG23-PK2504A 開發(fā)板。該板采用 EFM32PG23B310F512 處理器,自帶 512KB 閃存和 64KB內(nèi)存。該開發(fā)板配備了各種板載傳感器、接口和一個(gè) 4×10 段 LCD 顯示屏(圖 3)。
拿到開發(fā)板后,開發(fā)者可以下載并安裝 Simplicity Studio(在入門標(biāo)簽下)。Simplicity Studio是一個(gè)啟動(dòng)平臺(tái),可提供評(píng)估、配置 EFM32 微控制器和使用該控制器進(jìn)行開發(fā)所有的一切。軟件包括入門材料、說明文檔、兼容工具和資源。
當(dāng)打開 Simplicity Studio 并插入開發(fā)板時(shí),軟件將識(shí)別該板并提供有關(guān)示例項(xiàng)目、說明文檔和演示的建議(圖 4)。然后,開發(fā)者可以選擇最適合的途徑,開始對(duì) PG23 的實(shí)驗(yàn)。
值得強(qiáng)調(diào)的是,PG23-PK2504A 開發(fā)板上決定開發(fā)板供電方式的開關(guān)。有兩種選擇;AEM 或 BAT(圖 5)。在 AEM 模式下,有電流檢測(cè)電阻與LDO 電源和 PG23 串聯(lián)。這種模式優(yōu)點(diǎn)在于,開發(fā)人員可以測(cè)量處理器的電流消耗,這有助于功率優(yōu)化。一旦應(yīng)用經(jīng)過優(yōu)化,開發(fā)人員就可以切換到 BAT模式,通過鈕扣電池為開發(fā)板供電。
在物聯(lián)網(wǎng)應(yīng)用中盡量降低能耗的技巧和竅門
無論采用電池供電與否,最大限度地降低功耗對(duì)于每一個(gè)物聯(lián)網(wǎng)邊緣設(shè)計(jì)都至關(guān)重要。如果開發(fā)者不小心,對(duì)設(shè)計(jì)進(jìn)行能耗優(yōu)化可能會(huì)很耗時(shí)。以下是開發(fā)人員應(yīng)牢記的幾個(gè)“技巧和竅門”,這有助于對(duì)物聯(lián)網(wǎng)應(yīng)用進(jìn)行低功耗優(yōu)化:
使用事件驅(qū)動(dòng)型軟件架構(gòu)。當(dāng)系統(tǒng)不處理事件時(shí),使其進(jìn)入低功耗狀態(tài)。
概括在幾個(gè)充/放電周期內(nèi)對(duì)系統(tǒng)的電池消耗情況。記錄電流消耗和工作電壓,并繪制其時(shí)間變化的曲線。
充分利用低功耗模式,自動(dòng)禁用時(shí)鐘、外設(shè)和 CPU。
在簡(jiǎn)單應(yīng)用中,探索使用 Arm Cortex-M 的“退出時(shí)睡眠”功能,以盡量減少喚醒系統(tǒng)時(shí)的中斷開銷。
如果使用 RTOS,要利用其“tickless”模式來防止 RTOS 意外喚醒系統(tǒng)。
在迭代優(yōu)化時(shí),跟蹤每個(gè)變化的節(jié)能效果。在某一點(diǎn)上,開發(fā)商發(fā)現(xiàn)了一個(gè)“拐點(diǎn)”,此時(shí)優(yōu)化所花費(fèi)的時(shí)間在節(jié)能方面的回報(bào)是很低的。是時(shí)候停止優(yōu)化并進(jìn)入下一階段了。
開發(fā)者遵循這些“技巧和竅門”,可以在開始新的安全低功耗物聯(lián)網(wǎng)設(shè)計(jì)時(shí)節(jié)省更多的時(shí)間并省去更多的麻煩。
結(jié)語
-
mcu
+關(guān)注
關(guān)注
146文章
17269瀏覽量
352055 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2912文章
44855瀏覽量
375471 -
低功耗
+關(guān)注
關(guān)注
10文章
2414瀏覽量
103815 -
電池
+關(guān)注
關(guān)注
84文章
10660瀏覽量
130662
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論