當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]在這些功能中,用于對(duì)稱和非對(duì)稱加密的基于硬件的加速器提供了安全通信所需的基礎(chǔ)機(jī)制。過去認(rèn)為加密加速器足以實(shí)現(xiàn)數(shù)據(jù)保護(hù)等基本安全特性。

在這些功能中,用于對(duì)稱和非對(duì)稱加密的基于硬件的加速器提供了安全通信所需的基礎(chǔ)機(jī)制。過去認(rèn)為加密加速器足以實(shí)現(xiàn)數(shù)據(jù)保護(hù)等基本安全特性。但如今,用戶期望獲得更全面的安全特性,這使得生命周期安全性需求更為復(fù)雜,從制造中的配置延伸到現(xiàn)場(chǎng)調(diào)試,以及安全引導(dǎo)和安全固件更新。

為了實(shí)現(xiàn)這種擴(kuò)展保護(hù),需要一套遠(yuǎn)高于硬件級(jí)別的全面安全協(xié)議和策略。即便如此,任何安全協(xié)議的有效性都與是否存在合適的硬件機(jī)制息息相關(guān),因?yàn)橹挥杏布拍芗饶芗铀賵?zhí)行,又能消除或減少任何互連設(shè)備中不可避免會(huì)出現(xiàn)的威脅面。

LPC55S6x 架構(gòu)具有一系列能力,可提供這種基于硬件的生命周期安全性支持,首先是支持 Arm TrustZone® 技術(shù),另外還提供實(shí)現(xiàn)切實(shí)有效的安全水平所需的多層保護(hù)。

TrustZone 支持

TrustZone 能夠?qū)⒋a執(zhí)行和數(shù)據(jù)隔離到特定的安全域和非安全域,從而為安全性打下基礎(chǔ)。在程序執(zhí)行期間,主 Cortex-M33 內(nèi)核在若干不同執(zhí)行狀態(tài)(與不同的代碼執(zhí)行模式關(guān)聯(lián))之間切換。所述 CPU 狀態(tài)和代碼執(zhí)行模式包括:

安全特權(quán),用于執(zhí)行內(nèi)核級(jí)代碼或設(shè)備處理程序

安全非特權(quán),用于執(zhí)行安全的用戶代碼

非安全特權(quán),用于執(zhí)行典型的系統(tǒng)調(diào)用

非安全非特權(quán),用于執(zhí)行典型的用戶應(yīng)用程序

特權(quán)執(zhí)行與非特權(quán)執(zhí)行的區(qū)別對(duì)整體操作系統(tǒng)的穩(wěn)健性至關(guān)重要。但就本文的目的而言,我們可以將這些執(zhí)行模式統(tǒng)合起來,只關(guān)注安全和非安全操作之間的區(qū)別。在 TrustZone 架構(gòu)中,從安全 CPU 狀態(tài)切換到非安全 CPU 狀態(tài)會(huì)觸發(fā)硬件支持的限制,讓內(nèi)核訪問程序存儲(chǔ)器或數(shù)據(jù)。

在安全狀態(tài)下,內(nèi)核可以訪問安全和非安全存儲(chǔ)區(qū)中的數(shù)據(jù),但不能訪問非安全存儲(chǔ)區(qū)中存儲(chǔ)的代碼(圖 1 左)。在非安全狀態(tài)下,內(nèi)核只能訪問非安全存儲(chǔ)區(qū)中的代碼和數(shù)據(jù)(圖 1 右)。

 

 

圖 1:通過支持 Arm TrustZone,NXP 的 LPC55S6x 微控制器確保工作在安全 (S) 狀態(tài)(左)的內(nèi)核只能獲取 S 狀態(tài)程序存儲(chǔ)器的指令,而工作在非安全 (NS) 狀態(tài)(右)下的內(nèi)核則無法訪問 S 狀態(tài)存儲(chǔ)器中存儲(chǔ)的代碼或數(shù)據(jù)。(圖片來源:NXP Semiconductors)

LPC55S6x MCU 架構(gòu)在最低級(jí)別的總線訪問上執(zhí)行這種控制,從而減小常見的威脅面,例如攻擊者使用緩沖區(qū)溢出讓非安全的非特權(quán)代碼獲得對(duì)“受保護(hù)”區(qū)域的后門訪問權(quán)。這里,NXP 將 Arm TrustZone 安全屬性單元 (SAU) 與其自己的實(shí)現(xiàn)定義屬性單元 (IDAU) 結(jié)合使用,旨在完全隔離安全內(nèi)核代碼與應(yīng)用程序代碼。SAU 提供安全狀態(tài)(安全或非安全)并判斷指令是否來自允許的存儲(chǔ)器區(qū)域。IDAU 與設(shè)備屬性單元 (DAU) 接口以提供更高的粒度,同 SAU 一道確定特定地址的安全屬性。這樣,總線請(qǐng)求便能以適當(dāng)?shù)陌踩院吞貦?quán)級(jí)別進(jìn)行傳送(圖 2)。

 

 

圖 2:NXP 的 LPC55S6x 微控制器總線事務(wù)級(jí)別的訪問保護(hù),使用 Arm TrustZone SAU 及其自己的 IDAU 來確保系統(tǒng)總線請(qǐng)求在適當(dāng)?shù)陌踩院吞貦?quán)級(jí)別運(yùn)行。(圖片來源:NXP Semiconductors)

安全存儲(chǔ)和外設(shè)

TrustZone 保護(hù)機(jī)制在運(yùn)行時(shí)隔離應(yīng)用程序代碼和數(shù)據(jù),對(duì)使用的數(shù)據(jù)進(jìn)行尋址(經(jīng)典數(shù)據(jù)安全原則之一),其中也包括靜態(tài)數(shù)據(jù)和傳輸中的數(shù)據(jù)。這些原則通常與企業(yè)級(jí)數(shù)據(jù)問題相關(guān),但也適用于嵌入式系統(tǒng)中的代碼和數(shù)據(jù)。這里,若一個(gè)典型嵌入式系統(tǒng)使用微控制器的集成閃存存儲(chǔ)固件映像、代碼和數(shù)據(jù),這可能成為明顯的攻擊途徑。LPC55S6x 器件通過名為 PRINCE 的加密/解密算法來消解這種威脅。[閱讀說明:PRINCE 不是首字母縮略詞。]

由于其速度快且資源要求極低,PRINCE 算法非常適合嵌入式系統(tǒng)中的安全實(shí)現(xiàn)。在 LPC55S6x 器件中,PRINCE 算法通過硬件實(shí)現(xiàn),實(shí)時(shí)運(yùn)行,可以在讀取或?qū)懭霐?shù)據(jù)時(shí)即時(shí)解密或加密數(shù)據(jù)。與其他很多加密算法不同,PRINCE 算法不需要使用 RAM 來保存原始數(shù)據(jù)或中間結(jié)果,這就又消除了一個(gè)安全漏洞。因此,開發(fā)人員可以更安全地將應(yīng)用程序代碼、固件映像甚至安全密鑰存儲(chǔ)在微控制器的內(nèi)部閃存中。

雖然加密引擎和安全閃存會(huì)鎖定數(shù)據(jù)交換和存儲(chǔ),但安全嵌入式系統(tǒng)與傳感器和變送器的交互需要同樣程度的安全性。除了安全 DMA 功能外,LPC55S6x MCU 架構(gòu)還提供了多種機(jī)制來進(jìn)一步保護(hù)內(nèi)核或其他總線主控器與其集成外設(shè)、存儲(chǔ)器或 GPIO 之間的交換(圖 3)。

 

 

圖 3:NXP 的 LPC55S6x 微控制器將多層總線矩陣與 MSW、MPC、PPC 結(jié)合在一起,以隔離和保護(hù)該器件的不同總線主控器與其外設(shè)和存儲(chǔ)器之間的事務(wù)處理。(圖片來源:NXP Semiconductors)

在此保護(hù)方案中,存儲(chǔ)器保護(hù)校驗(yàn)器 (MPC) 會(huì)限制安全性較低的應(yīng)用程序?qū)Υ鎯?chǔ)器的訪問。外設(shè)保護(hù)校驗(yàn)器 (PPC) 為外設(shè)提供同類訪問控制,允許開發(fā)人員為不同外設(shè)設(shè)置不同的訪問規(guī)則。由于 SAU/IDU 機(jī)制僅適用于主 Cortex-M33 內(nèi)核,主安全包裝器 (MSW) 則用來為其他總線主控器提供類似的訪問保護(hù)。由于多層 AHB 矩陣在總線主控器與外設(shè)或存儲(chǔ)器之間創(chuàng)造了一條專用路徑,因此內(nèi)部總線連接與該器件中可能發(fā)生的其他總線事務(wù)處理是隔離的,安全得以保證。

LPC55S6x MCU 架構(gòu)通過其安全 GPIO 系統(tǒng)進(jìn)一步隔離了對(duì)外部器件的安全和非安全訪問。該系統(tǒng)將類似的隔離,即 TrustZone 機(jī)制在安全和非安全 CPU 狀態(tài)與代碼執(zhí)行模式之間創(chuàng)建的隔離,擴(kuò)展到 GPIO 引腳。因此,只有在安全狀態(tài)下運(yùn)行的主 Cortex-M33 內(nèi)核才能訪問安全 GPIO 引腳,這使開發(fā)人員能夠保護(hù)來自關(guān)鍵外部器件的信號(hào)。

安全密鑰管理

本文到目前為止描述的各種保護(hù)機(jī)制為安全嵌入式系統(tǒng)奠定了基礎(chǔ)。但是,要將該系統(tǒng)安全地連接到網(wǎng)絡(luò)、智能手機(jī)或其他主機(jī),開發(fā)人員必須能夠在初始調(diào)試和持續(xù)的事務(wù)處理期間對(duì)連接目標(biāo)進(jìn)行身份驗(yàn)證,并且能夠維護(hù)安全加密的通信通道。反過來,作為認(rèn)證協(xié)議和加密機(jī)制核心的非對(duì)稱和對(duì)稱加密算法的安全性,最終取決于這些協(xié)議和機(jī)制中使用的私鑰安全性。

LPC55S6x 微控制器利用集成的物理不可克隆功能 (PUF),為安全存儲(chǔ)現(xiàn)有密鑰并生成新密鑰提供了一種高度安全的機(jī)制。這種方法依靠 PUF 硬件的能力來創(chuàng)建唯一的 PUF 根密鑰,使用它來對(duì)其他用戶密鑰進(jìn)行加密。PUF 根密鑰的唯一性源于其使用內(nèi)部器件功能以及 SRAM 啟動(dòng)數(shù)據(jù),而 SRAM 啟動(dòng)數(shù)據(jù)源自上電時(shí) SRAM 單元的隨機(jī) 0 和 1 內(nèi)容。在 PUF 登記階段,器件使用這兩個(gè)隨機(jī)數(shù)據(jù)源來創(chuàng)建數(shù)字指紋和相關(guān)的 1192 字節(jié)激活碼(圖 4)。

 

 

圖 4:NXP LPC55S6x 微控制器的集成 PUF 使用啟動(dòng)時(shí) SRAM 的隨機(jī)狀態(tài)和其他內(nèi)部功能生成數(shù)字指紋和激活碼,以用于隨后的密鑰生成和存儲(chǔ)操作。(圖片來源:NXP Semiconductors)

在工廠配置器件期間或以后的實(shí)際使用中,此激活碼存儲(chǔ)在器件受保護(hù)閃存區(qū)域中的客戶現(xiàn)場(chǎng)可編程區(qū)域 (CFPA) 中。每次微控制器上電和使用 PUF Start 命令激活 PUF 時(shí),PUF 就會(huì)將現(xiàn)有激活碼與 SRAM 啟動(dòng)數(shù)據(jù)組合,以重建數(shù)字指紋。

在此 PUF Start 過程之后,PUF SetKey 命令讓 PUF 對(duì)用戶密鑰進(jìn)行編碼,例如工廠配置的共享主密鑰或由開發(fā)人員為其應(yīng)用程序提供的私鑰。在這里,PUF 根據(jù)密鑰大小、密鑰索引和用戶密鑰本身生成相應(yīng)用戶密鑰的密鑰代碼(圖 5)。

 

 

圖 5:NXP 的 LPC55S6x PUF 提供的 SetKey 功能使用其數(shù)字指紋對(duì)用戶密鑰和密鑰索引進(jìn)行編碼,提供隨后用于訪問原始用戶密鑰的密鑰代碼。(圖片來源:NXP Semiconductors)

開發(fā)人員還可以使用 PUF GenerateKey 命令生成新密鑰,該命令采用與 SetKey 相同的生成過程,但使用內(nèi)部生成的唯一數(shù)據(jù)取代圖 5 中顯示的 KEYIN 功能。使用密鑰索引 = 0 設(shè)置或生成的密鑰可獲得進(jìn)一步的保護(hù),如下文所述。

要使用密鑰,開發(fā)人員調(diào)用 PUF GetKey 命令以檢索原始用戶密鑰,其輸出路徑有兩條,具體輸出路徑取決于設(shè)置或生成密鑰時(shí)使用的密鑰索引值。如果密鑰索引大于零,則可通過 PUF CODEOUTPUT 寄存器獲得用戶密鑰。如果密鑰索引等于零,則用戶密鑰將直接傳遞給 AES 引擎,或傳遞給 KEYENABLE 的值所指定的 PRINCE 引擎的三個(gè)支持的閃存區(qū)域(圖 6)。盡管沒有直接參與密鑰檢索,但 PUF 的 4 位 KEYMASK 寄存器支持專為緩解旁路攻擊的內(nèi)部機(jī)制。

 

 

圖 6:開發(fā)人員使用 NXP 的 LPC55S6x PUF GetKey 命令訪問密鑰。這會(huì)使用 SetKey(或 GenerateKey)操作期間生成的密鑰索引和密鑰代碼輸出原始用戶密鑰,或通過專用總線將其發(fā)送到微控制器的加密加速器。(圖片來源:NXP Semiconductors)

零索引密鑰有助于加強(qiáng)生命周期安全性,甚至從工廠配置階段開始便能保證安全。一旦通過 PUF SetKey 配置,無論是用于對(duì)稱加密的共享主密鑰,還是用于非對(duì)稱加密的私鑰,都永遠(yuǎn)不會(huì)離開器件或進(jìn)入系統(tǒng)總線。相反,密鑰通過軟件無法訪問的專用硬連線接口在內(nèi)部傳輸?shù)?AES 或 PRINCE 引擎。

PUF 密鑰管理機(jī)制和微控制器的其他安全特性共同支持其他生命周期安全性階段,包括安全引導(dǎo)和固件更新。針對(duì)安全引導(dǎo),LPC55S6x 支持多種保護(hù)方法,包括使用經(jīng)驗(yàn)證的 X.509 證書對(duì) RSA2048 簽名映像進(jìn)行身份驗(yàn)證,或?qū)?PRINCE 閃存區(qū)域中存儲(chǔ)的映像進(jìn)行解密。無論何種情況,引導(dǎo)程序都使用 PUF 生成的密鑰哈希值從 PUF 密鑰存儲(chǔ)區(qū)中安全地檢索驗(yàn)證證書或解密映像所需的密鑰,這些密鑰哈希值與映像一起存儲(chǔ)在受保護(hù)的閃存區(qū)域中。

固件更新使用類似的機(jī)制來驗(yàn)證無線更新固件映像,對(duì)其進(jìn)行解密,然后準(zhǔn)備好進(jìn)行引導(dǎo)。

除了安全引導(dǎo)和固件更新的直接需求外,該器件的多個(gè)密鑰存儲(chǔ)插槽和密鑰生成功能還支持持續(xù)的安全生命周期要求,可以撤銷密鑰和證書。這種密鑰管理功能進(jìn)而支持更高級(jí)別的安全策略,例如固件映像撤銷。

通過使用 NXP 的 LPCXpresso55S69 開發(fā)板并結(jié)合 NXP 的 MCUXpresso 集成開發(fā)環(huán)境 (IDE)、IAR 或 Keil IDE,開發(fā)人員可以快速探索 LPC55S6x 微控制器的能力。MCUXpresso Config Tools 集成在 MCUXpresso IDE 中,可幫助開發(fā)人員設(shè)置 MCU 硬件并生成初始化代碼。利用該配置工具集中的可信執(zhí)行環(huán)境 (TEE) 工具,開發(fā)人員可以更輕松地配置 LPC55S6x MCU 的多級(jí)安全訪問。使用 TEE 工具的圖形界面,開發(fā)人員可以針對(duì)上文描述的四種 CPU 狀態(tài)和執(zhí)行模式中的每一種,優(yōu)化對(duì)存儲(chǔ)器、總線主控器和外設(shè)的訪問權(quán)限(圖 7)。

 

 

圖 7:利用 NXP 的 MCUXpresso Config Tools 實(shí)用工具集中可信執(zhí)行環(huán)境工具的圖形界面,開發(fā)人員可以針對(duì)以四種 CPU 狀態(tài)和執(zhí)行模式運(yùn)行的代碼,設(shè)置對(duì)存儲(chǔ)器、總線主控器和外設(shè)的訪問權(quán)限(圖片來源:NXP Semiconductors)

針對(duì)代碼開發(fā),NXP 還提供了許多簡(jiǎn)單的代碼示例,這些示例演示了使用微控制器安全特性(例如安全 GPIO、PUF 密鑰管理和其他器件功能)的基本設(shè)計(jì)模式。然而,即使在開發(fā)階段,LPC55S6x MCU 也可通過單線調(diào)試 (SWD)

認(rèn)證能力來幫助維持生命周期安全性。借助此功能,經(jīng)授權(quán)的開發(fā)人員可以調(diào)試其安全代碼并禁用對(duì)安全資源的任何進(jìn)一步 SWD 訪問,然后將開發(fā)工作交給非安全軟件開發(fā)人員。這些開發(fā)人員在完成代碼調(diào)試之后,進(jìn)而可以禁用所有通過 SWD 端口的調(diào)試訪問。

總結(jié)

開發(fā)人員面臨著對(duì)低功耗、高性能設(shè)計(jì)日益增長(zhǎng)的需求,同時(shí)還需要能夠維持從工廠配置到現(xiàn)場(chǎng)安全操作的整個(gè)生命周期的安全性。如本文所述,NXP 的 LPC55S6x 系列微控制器提供了一種有效的解決方案,它既具備通用處理能力,又有豐富的專用硬件特性來支持生命周期安全性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉