作者:Stephen Evanczuk
投稿人:DigiKey 北美編輯
隨著向物聯(lián)網(wǎng) (IoT) 的遷移,安全性已不再是嵌入式應(yīng)用中的選配功能,已發(fā)展成為確保系統(tǒng)完整性所需的必備能力。為了滿足日益增多的安全規(guī)范要求,開發(fā)人員所需的解決方案不僅要滿足低功耗或高性能的應(yīng)用要求,還應(yīng)提供基于硬件的安全功能,包括身份驗(yàn)證、加密、安全存儲(chǔ)和安全啟動(dòng)。
本文簡(jiǎn)將要介紹嵌入式安全的原理。然后,介紹開發(fā)人員如何利用 [Microchip Technology]的高性能[數(shù)字信號(hào)控制器] (DSC)、低功耗 [PIC24F] 微控制器單元 (MCU) 以及 Microchip 的專用安全設(shè)備來滿足對(duì)嚴(yán)格的嵌入式安全的新需求。
嵌入式安全基于四個(gè)關(guān)鍵原則
通過與公共互聯(lián)網(wǎng)連接,可在復(fù)雜的應(yīng)用中將智能產(chǎn)品結(jié)合在一起,這是獨(dú)立產(chǎn)品所無法比擬的。然而,來自這些相同的連接途徑的網(wǎng)絡(luò)攻擊威脅,不僅可能限制智能產(chǎn)品的價(jià)值,而且還會(huì)使這些產(chǎn)品、相關(guān)應(yīng)用及其用戶面面臨幾乎是無窮無盡的威脅之源。
除了需要滿足消費(fèi)者對(duì)系統(tǒng)級(jí)網(wǎng)絡(luò)安全的持續(xù)需求外,開發(fā)人員還需要越來越多地滿足國家和地區(qū)組織的各種安全規(guī)范。歐洲的《ETSI EN 303 645 消費(fèi)者物聯(lián)網(wǎng)網(wǎng)絡(luò)安全:基本要求》和美國的《NIST IR 8259 物聯(lián)網(wǎng)設(shè)備制造商的基礎(chǔ)網(wǎng)絡(luò)安全活動(dòng)》是最具影響力的兩個(gè)規(guī)范,建議按照以下四個(gè)關(guān)鍵原則執(zhí)行網(wǎng)絡(luò)安全實(shí)踐:
要根據(jù)這些核心原則交付系統(tǒng),就必須使用可信平臺(tái)。這種平臺(tái)能夠防止黑客注入改變通信、存儲(chǔ)、固件甚至安全機(jī)制本身的妥協(xié)代碼。
可信平臺(tái)利用基于硬件的不可變安全機(jī)制,從底層開始建構(gòu)系統(tǒng)級(jí)安全,從而有助于確保系統(tǒng)級(jí)安全。雖然概念簡(jiǎn)單明了,但系統(tǒng)級(jí)安全的實(shí)施卻充滿挑戰(zhàn),因?yàn)橄到y(tǒng)任何部分的安全漏洞都可能為網(wǎng)絡(luò)攻擊提供途徑。通過使用 Microchip Technology 的高性能 dsPIC33C DSC 和低功耗 PIC24F MCU,并結(jié)合 Microchip 的配套安全器件,開發(fā)人員可以更輕松地實(shí)現(xiàn)能夠確保系統(tǒng)級(jí)安全的嵌入式設(shè)計(jì)。
滿足性能和功率要求
Microchip 的 dsPIC33C DSC 和 PIC24F MCU 系列器件專為支持各種用例而設(shè)計(jì),每個(gè)器件都將強(qiáng)大的執(zhí)行平臺(tái)與特定應(yīng)用功能相結(jié)合,包括大量集成的模擬、波形控制和通信外設(shè)。事實(shí)上,利用 dsPIC33C DSC 上的多個(gè)脈寬調(diào)制 (PWM)、可編程增益放大器 (PGA)、模數(shù)轉(zhuǎn)換器 (ADC) 和其他外設(shè),開發(fā)人員只需增加最少的元件就能實(shí)現(xiàn)復(fù)雜的系統(tǒng)——通常只需要設(shè)計(jì)任何此類設(shè)計(jì)所需的功率器件。例如,使用 [DSPIC33CK512MP608] 單核 DSC 實(shí)現(xiàn)離線式不間斷電源 (UPS) 設(shè)計(jì)(圖 1)。
圖 1:與其他 dsPIC33C DSC 一樣,DSPIC33CK512MP608 單核 DSC 集成了一整套外設(shè),簡(jiǎn)化了如圖所示的離線 UPS 等復(fù)雜系統(tǒng)的設(shè)計(jì)。(圖片來源:Microchip Technology)
對(duì)于需要實(shí)時(shí)控制和數(shù)字信號(hào)處理功能的應(yīng)用,dsPIC33C DSC 能提供 MCU 功能和 DSC 專用指令和硬件功能。對(duì)于安全關(guān)鍵型設(shè)計(jì),dsPIC33C DSC 符合 IEC 60730 功能安全標(biāo)準(zhǔn)和 ISO 26262 標(biāo)準(zhǔn),具有多種硬件功能,旨在簡(jiǎn)化汽車安全完整性等級(jí) B (ASIL-B) 以及 SIL-2 汽車和工業(yè)安全關(guān)鍵型應(yīng)用的功能性安全認(rèn)證。
dsPIC33C DSC 專為性能至上的應(yīng)用而設(shè)計(jì),而 PIC24F MCU 則在性能和能效之間取得了平衡,適用于通用嵌入式系統(tǒng)、消費(fèi)電子產(chǎn)品、工業(yè)自動(dòng)化、醫(yī)療設(shè)備以及其他需要控制、連接,但不需要 DSP 功能的應(yīng)用。與 dsPIC33C DSC 一樣,PIC24F MCU 也是 IEC 60730 具備功能性安全的器件,且具有 B 級(jí)安全診斷庫,適用于住宅應(yīng)用。
如前所述,固件完整性是嵌入式網(wǎng)絡(luò)安全的核心原則。為了幫助開發(fā)人員確保固件完整性、保護(hù)整體代碼,Microchip 在 dsPIC33C DSC 器件中通過在線串行編程 (ICSP) 寫入抑制和 CodeGuard 閃存安全功能,提供了閃存一次性可編程 (OTP) 功能,例如 DSPIC33CK512MP608 單核 DSC 和 [DSPIC33CH512MP508]雙核 DSC,以及 PIC24F MCU 器件(例如 PIC24FJ512GU405 MCU)和其他許多配置了不同的應(yīng)用特定性外設(shè)的器件。
器件固件的保護(hù)
通過 ICSP 禁止寫入功能,開發(fā)人員利用閃存 OTP 可將部分閃存配置為 OTP 存儲(chǔ)器,并對(duì)閃存進(jìn)行讀/寫保護(hù)。Microchip 的專有 ICSP 功能允許這些器件在最終應(yīng)用中運(yùn)行時(shí)通過一對(duì)引腳進(jìn)行串行編程。有了這項(xiàng)功能,制造商就可在生產(chǎn)電路板上完成編程。ICSP 需要使用外部編程器件來控制閃存 OTP 過程,而增強(qiáng)型 ICSP 則允許使用板載引導(dǎo)程序來控制閃存 OTP 過程。這些器件還支持運(yùn)行時(shí)自編程 (RTSP),這會(huì)允許在運(yùn)行時(shí)自行更新閃存用戶應(yīng)用的代碼。
在對(duì)生產(chǎn)器件進(jìn)行編程后,開發(fā)人員可激活 ICSP 寫入抑制功能,以防止進(jìn)一步的 ICSP 編程或擦除。不過,如果在 ICSP 寫入禁止激活之前已將適當(dāng)?shù)拈W存更新代碼寫入器件,即使激活了 ICSP 寫入禁止,RTSP 閃存擦除和編程操作也能繼續(xù)進(jìn)行。因此,即使在 ICSP 寫入禁止被激活的情況下,開發(fā)人員也可使用可信任的引導(dǎo)程序來更改閃存,從而安全地更新固件,同時(shí)還能減少從外部對(duì)生產(chǎn)系統(tǒng)中的閃存進(jìn)行的任何更新嘗試。
通過使用獨(dú)立的啟動(dòng)片段和通用片段,CodeGuard Flash 安全可為程序閃存提供細(xì)粒度保護(hù)。開發(fā)人員通過在器件的 BSLIM 寄存器中設(shè)置引導(dǎo)片段 (BS) 限制 (BSLIM) 的地址來定義這些片段的大小;通用片段 (GS) 占用剩余內(nèi)存。為進(jìn)一步保護(hù)敏感信息,每個(gè)片段都包含附加分區(qū)。例如,BS 包含中斷向量表 (IVT)、可選的備用中斷向量表 (AIVT) 和額外指令字 (IW) 空間;配置片段 (CS) 位于 GS 的用戶地址空間內(nèi),其中包含了關(guān)鍵的器件用戶配置數(shù)據(jù)(圖 2)。
圖 2:dsPIC33C DSC 和 PIC24F MCU 系列支持 BS 和 GS 等獨(dú)立分區(qū)的代碼保護(hù)。(圖片來源:Microchip Technology)
設(shè)置片段分區(qū)后,開發(fā)人員可使用器件的固件安全 (FSEC) 寄存器,選擇啟用寫保護(hù),并為每個(gè)片段設(shè)置所需的代碼保護(hù)級(jí)別。在運(yùn)行期間,該器件可防止代碼保護(hù)級(jí)別較低的片段中的代碼訪問代碼保護(hù)級(jí)別較高的片段中的代碼。在典型系統(tǒng)中,開發(fā)人員會(huì)對(duì) BS 進(jìn)行寫保護(hù),并將其代碼保護(hù)設(shè)置為較高級(jí)別,以防從外部更改 BS(包括引導(dǎo)程序)。
實(shí)施安全的空中下載固件更新
軟件開發(fā)人員不可避免地需要更新軟件,以應(yīng)對(duì)新發(fā)現(xiàn)的軟件漏洞、競(jìng)爭(zhēng)力加強(qiáng)或不斷出現(xiàn)的安全威脅。與移動(dòng)應(yīng)用更新不同,在嵌入式系統(tǒng)中對(duì)固件執(zhí)行安全更新,輕則有可能干擾當(dāng)前運(yùn)行的應(yīng)用,重則使系統(tǒng)“癱瘓”。Microchip 的 dsPIC33C DSC 和低功耗 PIC24F MCU 系列提供雙分區(qū)機(jī)制,有助于開發(fā)人員避免這些問題。
在標(biāo)準(zhǔn)運(yùn)行模式下,這些器件將所有可用的物理內(nèi)存用作連續(xù)的單分區(qū)內(nèi)存空間(圖 3,左),可將這種空間配置為獨(dú)立的 BS 和 GS。在雙分區(qū)模式下,開發(fā)人員將物理內(nèi)存分成獨(dú)立的活動(dòng)分區(qū)和非活動(dòng)分區(qū)(圖 3,右)。
圖 3:開發(fā)人員可以在默認(rèn)的單分區(qū)模式或雙分區(qū)模式下運(yùn)行 dsPIC33C DSC 和 PIC24F MCU 系列。(圖片來源:Microchip Technology)
在雙分區(qū)模式下運(yùn)行時(shí),這些器件可以在對(duì)非活動(dòng)分區(qū)進(jìn)行編程的同時(shí),繼續(xù)在活動(dòng)分區(qū)中執(zhí)行應(yīng)用代碼。編程完成后,執(zhí)行引導(dǎo)交換 (BOOTSWP)“運(yùn)行時(shí)指令”會(huì)將器件引導(dǎo)目標(biāo)切換到更新分區(qū)。如果更新分區(qū)中的代碼失效或出現(xiàn)缺陷,器件重置功能將自動(dòng)使設(shè)備啟動(dòng)到原始分區(qū)(圖 4)。
圖 4:在雙分區(qū)模式下,dsPIC33C DSC 和 PIC24F MCU 可以在一個(gè)分區(qū)中加載應(yīng)用代碼,同時(shí)在另一個(gè)分區(qū)中繼續(xù)執(zhí)行應(yīng)用代碼。(圖片來源:Microchip Technology)
在確保更新分區(qū)成功后,可將更新分區(qū)的閃存啟動(dòng)順序 (FBTSEQ) 設(shè)置為低于原始分區(qū)的值。在隨后的器件重置中,器件將啟動(dòng)到具有較低 FBTSEQ 值的更新分區(qū)(圖 5)。
圖 5:雙分區(qū)模式允許開發(fā)人員指定器件復(fù)位后啟動(dòng)到所需分區(qū)的順序。(圖片來源:Microchip Technology)
通過 ICSP 寫入抑制和 CodeGuard 閃存安全實(shí)現(xiàn)的閃存 OTP 能為靜態(tài)和“運(yùn)行時(shí)代碼”安全提供關(guān)鍵支持,但全面的嵌入式安全需要額外的機(jī)制,包括安全密鑰存儲(chǔ)、代碼驗(yàn)證和安全通信。
使用配套安全器件來確保嵌入式系統(tǒng)安全
通過將 dsPIC33C DSC 和 PIC24F 微控制器與 Microchips 的[ATECC608]CryptoAuthentication 或 TrustAnchor100 ([TA100]) CryptoAutomotive 安全 IC 相結(jié)合,開發(fā)人員可以更輕松地部署全套基于硬件的安全功能。
這些安全 IC 提供基于硬件的防篡改安全機(jī)制,包括安全存儲(chǔ)、硬件加速型加密引擎、真隨機(jī)數(shù)生成器以及加密算法所需的其他機(jī)制。這些 IC 配套器件而設(shè)計(jì),可以方便地添加到 DSC 或 MCU 系統(tǒng)設(shè)計(jì)中,從而完整地實(shí)施全嵌入式系統(tǒng)安全(圖 6)。
圖 6:ATECC608 或 TA100 等安全 IC 補(bǔ)充了 dsPIC33C DSC 和 PIC24F MCU 的安全功能,簡(jiǎn)化了安全嵌入式系統(tǒng)的實(shí)施。(圖片來源:Microchip Technology)
執(zhí)行像安全固件更新這樣的關(guān)鍵運(yùn)行說明了 dsPIC33C DSC 和 PIC24F 微控制器與這些配套安全 IC 之間的互補(bǔ)性安全功能。在完成固件更新運(yùn)行之前,開發(fā)人員使用代碼簽名技術(shù)來驗(yàn)證代碼的真實(shí)性、完整性。在這里,開發(fā)人員使用他們的開發(fā)系統(tǒng)創(chuàng)建一個(gè)更新包,其中包含代碼、代碼元數(shù)據(jù)和用于驗(yàn)證的簽名(圖 7)。
圖 7:代碼簽名是一種重要的協(xié)議,通常用于驗(yàn)證代碼在目標(biāo)系統(tǒng)上更新前的真實(shí)性和完整性。(圖片來源:Microchip Technology)
在目標(biāo)系統(tǒng)上,基于硬件的簽名驗(yàn)證避免了驗(yàn)證協(xié)議受損的風(fēng)險(xiǎn),而過去使用的那種基于軟件的簽名驗(yàn)證則可能出現(xiàn)這種情況。取而代之的是配套的安全 IC,如 Microchip 的 ATECC608 和 TA100 可快速、安全地執(zhí)行簽名驗(yàn)證操作,而不會(huì)有泄露的風(fēng)險(xiǎn)(圖 8)。
圖 8:在目標(biāo)系統(tǒng)中,為了確保在引導(dǎo)程序更新固件之前進(jìn)行代碼驗(yàn)證,ATECC608 或 TA100 等安全 IC 提供的基于硬件的驗(yàn)證功能是至關(guān)重要的。(圖片來源:Microchip Technology)
為了加快實(shí)施安全系統(tǒng),Microchip 提供了包含軟件和硬件的組合開發(fā)工具。
加快軟件和硬件開發(fā)
[MPLAB X 集成開發(fā)環(huán)境] 為開發(fā)人員提供了完整的軟件開發(fā)環(huán)境,而 [MPLAB XC C 編譯器]則為現(xiàn)有工具鏈提供開發(fā)支持。為了加快這兩種環(huán)境下的開發(fā)速度,Microchip [MPLAB 代碼配置器] 可讓開發(fā)人員使用圖形界面自動(dòng)生成初始化程序、構(gòu)建驅(qū)動(dòng)程序、分配引腳和實(shí)施庫,還有助于加快與任何嵌入式軟件開發(fā)項(xiàng)目相關(guān)的許多關(guān)鍵性底層設(shè)置步驟和流程。
為了加快實(shí)施合適的安全引導(dǎo)程序,Microchip 的 [用于 dsPIC33 DSC 和 PIC24 MCU 的引導(dǎo)程序]提供了一個(gè)圖形界面,幫助開發(fā)人員快速配置和生成其應(yīng)用所需的定制引導(dǎo)程序。相關(guān)的引導(dǎo)程序主機(jī)應(yīng)用會(huì)進(jìn)一步簡(jiǎn)化向目標(biāo)器件傳輸應(yīng)用代碼的過程。
在硬件開發(fā)方面,Microchip 提供了多個(gè)相關(guān)開發(fā)板,可用于構(gòu)建基于 dsPIC33C DSC 或 PIC24F MCU 的系統(tǒng)。事實(shí)上,Microchip 的 [PIC-IoT EV54Y39A 開發(fā)板]和 [PIC-IoT AC164164 開發(fā)板](圖 9)集成了安全 IC,且這些 IC 分別預(yù)置了亞馬遜網(wǎng)絡(luò)服務(wù) (AWS) 和谷歌云的安全憑證。
圖 9:PIC-IoT AC164164 等開發(fā)板集成了預(yù)先為 AWS 或谷歌云提供憑據(jù)的安全 IC,以幫助加快嵌入式安全開發(fā)。(圖片來源:Microchip Technology)
對(duì)于定制設(shè)計(jì),Microchip 提供基于 dsPIC33CH512MP508 雙核 DSC 的 dsPIC33CH Curiosity 開發(fā)板 ([DM330028-2])。此外,開發(fā)人員還可以將 Microchip 基于 dsPIC33CH128MP508 的插件模塊 [(MA330040]) 連接到 Microchip Explorer 嵌入式評(píng)估板 [(DM240001-2]),以加快安全嵌入式系統(tǒng)的開發(fā)。
結(jié)束語
嵌入式系統(tǒng)安全依賴基于硬件的機(jī)制,這些機(jī)制能夠支持包括固件完整性、身份驗(yàn)證、加密和安全存儲(chǔ)在內(nèi)的核心網(wǎng)絡(luò)安全原則。Microchip 的 dsPIC33C DSC 和 PIC24F MCU 簡(jiǎn)化了代碼保護(hù),而其 ATECC608 和 TA100 安全 IC 則提供了有效安全平臺(tái)所需的額外安全機(jī)制。組合使用這些設(shè)備,開發(fā)人員可以滿足物聯(lián)網(wǎng)嵌入式解決方案以及汽車、工業(yè)、消費(fèi)和醫(yī)療應(yīng)用對(duì)系統(tǒng)級(jí)安全的需求。
-
mcu
+關(guān)注
關(guān)注
146文章
17019瀏覽量
350371 -
嵌入式
+關(guān)注
關(guān)注
5071文章
19026瀏覽量
303492 -
數(shù)字信號(hào)
+關(guān)注
關(guān)注
2文章
958瀏覽量
47519 -
DSC
+關(guān)注
關(guān)注
3文章
276瀏覽量
33552
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論