當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]如何防止器件“磚頭化”,只發(fā)出警告就夠了嗎?“系統(tǒng)正在更新,請(qǐng)勿關(guān)閉電源。”我們都看到過(guò)這個(gè)警告,它通常在電子器件要在閃存安裝代碼更新時(shí)出現(xiàn)。

如何防止器件“磚頭化”,只發(fā)出警告就夠了嗎?

“系統(tǒng)正在更新,請(qǐng)勿關(guān)閉電源。”我們都看到過(guò)這個(gè)警告,它通常在電子器件要在閃存安裝代碼更新時(shí)出現(xiàn)。如果更新被中斷,閃存將無(wú)法正確更新,代碼將會(huì)損壞,而器件無(wú)法運(yùn)行,即“磚頭化” (bricked)。這種大家熟悉的警告存在的原因,是因?yàn)槭褂瞄W存的大多數(shù)半導(dǎo)體器件在編程或擦除操作期間需要一直供電。顯然,防止器件“磚頭化”是非常重要的。但是,只發(fā)出警告就夠了嗎?有些嵌入式器件甚至都沒(méi)有用戶顯示器,因此無(wú)法產(chǎn)生警告。在設(shè)計(jì)中如何才能確??煽壳野踩倪h(yuǎn)程系統(tǒng)更新呢?

嵌入式系統(tǒng)遠(yuǎn)程升級(jí)的重要性

遠(yuǎn)程升級(jí)對(duì)連接的嵌入式系統(tǒng)日益重要。通過(guò)互聯(lián)網(wǎng)遠(yuǎn)程修復(fù)漏洞或增加新特性,可以節(jié)省大量的維護(hù)費(fèi)用;當(dāng)部署數(shù)千個(gè)嵌入式系統(tǒng)時(shí),維護(hù)便是一個(gè)大問(wèn)題了。隨著嵌入式系統(tǒng)安全問(wèn)題的不斷增加,通過(guò)遠(yuǎn)程安全定向代碼升級(jí)來(lái)修復(fù)潛在安全漏洞變得愈發(fā)重要。顯然,升級(jí)必須安全地完成,否則,攻擊算法便很容易利用不安全的更新來(lái)破壞系統(tǒng)。下面是一個(gè)典型系統(tǒng)的示例,有助于更好地了解安全可靠的遠(yuǎn)程升級(jí)設(shè)施的要求。

系統(tǒng)示例——控制平面橋

通信或網(wǎng)絡(luò)機(jī)箱內(nèi)的控制平面橋(Control Plane Bridge),是需要遠(yuǎn)程更新的常見(jiàn)系統(tǒng)示例。這種子系統(tǒng)匯集了許多低速外設(shè),比如模擬傳感器、電源管理模塊、風(fēng)扇、故障記錄存儲(chǔ)器和利用I2C、 SPI和GPIO接口的狀態(tài)輸出。然后,可以采用速度更快的總線——可能是通信和連網(wǎng)機(jī)箱內(nèi)很常見(jiàn)的子系統(tǒng)接口PCIe,與低速外設(shè)直接通信。這種機(jī)箱控制子系統(tǒng)能夠?qū)嵤┲悄軈R聚功能,當(dāng)規(guī)定啟動(dòng)點(diǎn)被激活,例如到達(dá)最高溫度或最低電壓水平時(shí),便會(huì)“推進(jìn)”通信。圖1所示就是這樣一個(gè)系統(tǒng),它是用配備片上微控制器的FPGA (通常稱為SoC FPGA) 實(shí)現(xiàn)的。

 


圖1 經(jīng)PCIe遠(yuǎn)程升級(jí)的機(jī)箱控制平面橋

FPGA和閃存

在上面的例子中,遠(yuǎn)程更新經(jīng)由PCIe總線實(shí)現(xiàn),但并未對(duì)編程期間可能出現(xiàn)的斷電進(jìn)行保護(hù)。讓我們看看常見(jiàn)的FPGA實(shí)施類型,從而更好地防范閃存遠(yuǎn)程更新過(guò)程中突然斷電時(shí)可能出現(xiàn)的重大故障。

幾乎每個(gè)基于FPGA的系統(tǒng)都需要采用某種形式的非易失性存儲(chǔ)器來(lái)儲(chǔ)存配置存儲(chǔ)。一般說(shuō)來(lái),配置存儲(chǔ)器位于芯片外或芯片上?;赟RAM的FPGA需要外部閃存,用于上電時(shí)的配置?;陂W存的FPGA可以使用嵌在FPGA結(jié)構(gòu)(結(jié)構(gòu)嵌入閃存FPGA)內(nèi)的配置存儲(chǔ)器,或使用基于SRAM的結(jié)構(gòu),但將一個(gè)閃存塊放在芯片上(側(cè)面閃存FPGA)。

基于SRAM的FPGA通常使用NOR SPI閃存,因?yàn)樗牡囊_數(shù)最少,幾家供應(yīng)商有同樣的引腳輸出,而且密度高達(dá)1 Gb。目前的NOR SPI閃存器件擁有32位地址選擇,可擴(kuò)展成為4GB器件,而且不需要改變指令和控制協(xié)議。當(dāng)這種SPI閃存處于程序或擦除模式 (電荷泵啟動(dòng)) 且電力消失時(shí),會(huì)發(fā)生什么事情呢?電荷在哪里消失?是否有電路檢測(cè)到這些閃存的電力故障并將電荷安全地引導(dǎo)到地面?一般說(shuō)來(lái),正被寫(xiě)入的頁(yè)面將出現(xiàn)數(shù)據(jù)損壞。

 


圖2 三種FPGA配置圖:帶外部配置閃存的基于SRAM的FPGA、側(cè)面閃存FPGA和嵌入閃存FPGA

側(cè)面閃存FPGA系統(tǒng)采用較寬的片上數(shù)據(jù)總線在上電時(shí)載入基于SRAM的配置存儲(chǔ)。通常,這種方法載入配置比基于SRAM的FPGA要快,因?yàn)楹笳呤遣捎猛獠块W存來(lái)配置器件的。但是,這種方法存在程序或擦除周期期間功率損失的問(wèn)題。電荷去了哪里?閃存是否被破壞?是否僅寫(xiě)入頁(yè)面被破壞?整個(gè)閃存都存在風(fēng)險(xiǎn)?FPGA是否能夠檢測(cè)被破壞的片上存儲(chǔ)器,或者,在上電期間,被破壞的數(shù)據(jù)是否被載入到配置存儲(chǔ)器內(nèi)?

閃存的破壞是個(gè)問(wèn)題,如何確保遠(yuǎn)程數(shù)據(jù)的安全也非常重要。當(dāng)嵌入式產(chǎn)品可由終端用戶訪問(wèn)時(shí),就存在被篡改的可能。為了防止攻擊,必須同時(shí)采用軟件和硬件的安全功能。僅對(duì)遠(yuǎn)程配置數(shù)據(jù)文件進(jìn)行加密遠(yuǎn)遠(yuǎn)不夠。雖然這種軟件加密安全有用,但是還必須將解密數(shù)據(jù)的硬件 (FPGA) 置于安全保護(hù)內(nèi)。當(dāng)用戶訪問(wèn)嵌入式器件時(shí),加密數(shù)據(jù)文件很容易被提取。利用價(jià)格便宜的電磁探針和進(jìn)行差分功耗分析 (DPA) 即可實(shí)現(xiàn)這一點(diǎn)。采用這種方法提取FPGA安全密匙的例子很多。如果FPGA并未內(nèi)置DPA對(duì)抗措施,則任何遠(yuǎn)程更新都存在安全風(fēng)險(xiǎn)。當(dāng)用戶能夠訪問(wèn)嵌入式產(chǎn)品時(shí),如果沒(méi)有DPA對(duì)抗措施,便如同中門(mén)大開(kāi),沒(méi)有安全可言。

在嵌入閃存的FPGA中,配置儲(chǔ)存在芯片上,并緊密集成在FPGA結(jié)構(gòu)內(nèi)。例如,在美高森美SmartFusion2和IGLOO2 flash FPGA上,可經(jīng)由外部通信端口如USB、PCIe或JTAG等進(jìn)行編程,整個(gè)編程過(guò)程由片上專用編程接口管理。此外,SmartFusion2和 IGLOO2 FPGA使用了一種稱為“在應(yīng)用中編程”(IAP)的高級(jí)編程機(jī)制,即便在編程期間有功率損耗的情況下,仍可提供可靠且安全的編程。讓我們看看如何采用 IAP機(jī)制來(lái)實(shí)現(xiàn)目前嵌入式系統(tǒng)需要的可靠遠(yuǎn)程升級(jí)的能力。

在基于FPGA的嵌入式系統(tǒng)中實(shí)現(xiàn)可靠且安全的遠(yuǎn)程更新

嵌入閃存的FPGA可以提供更容易支持安全可靠的遠(yuǎn)程更新所需的關(guān)鍵功能。例如,SmartFusion2擁有實(shí)施關(guān)鍵橋接功能及安全和IAP功能需要的所有主流FPGA特點(diǎn)。如圖3所示,低速接口可以采用I2C和GPIO連接。高速主機(jī)接口PCIe則作為不需要FPGA結(jié)構(gòu)的專用端口。

 


圖3 SmartFusion2“在應(yīng)用中編程”(IAP)支持機(jī)箱控制平面橋,以實(shí)現(xiàn)安全可靠的遠(yuǎn)程更新

片上處理器可以利用高速存儲(chǔ)子系統(tǒng)(HSMS)訪問(wèn)大型內(nèi)部閃存來(lái)進(jìn)行代碼儲(chǔ)存,訪問(wèn)大型內(nèi)部SRAM來(lái)進(jìn)行數(shù)據(jù)緩沖,而專用DDR控制器則在有需要時(shí)訪問(wèn)其它外部存儲(chǔ)器。專用系統(tǒng)控制器提供編程期間使用的安全功能,以及遠(yuǎn)程更新期間使用的IAP功能。圖4詳細(xì)描述了SmartFusion2 FPGA上可以提供的關(guān)鍵功能。[!--empirenews.page--]

 


圖4 美高森美SmartFusion2 SoC FPGA擁有主流特點(diǎn)及可靠的安全和遠(yuǎn)程更新能力

利用“在應(yīng)用中編程”來(lái)實(shí)現(xiàn)安全可靠的升級(jí)

SmartFusion2和IGLOO2提供的IAP機(jī)制是一種安全可靠地遠(yuǎn)程更新配置比特流的方法。IAP在FPGA內(nèi)由專用系統(tǒng)控制器執(zhí)行,因此并不需要使用任何FPGA結(jié)構(gòu)或其它用戶可配置邏輯。IAP功能采用一個(gè)外部SPI閃存器件,是一個(gè)兩步過(guò)程。在第一步中,外部SPI閃存器件通過(guò)任何可用的接口,比如PCIe、USB、JTAG甚至以太網(wǎng),用需要的比特流編程。用于SmartFusion2器件編程的所有比特流都進(jìn)行了加密,以確保它們不會(huì)被篡改。

在第二步中,系統(tǒng)控制器通過(guò)系統(tǒng)服務(wù)請(qǐng)求執(zhí)行IAP服務(wù)。用戶向系統(tǒng)控制器提供指針,指向外部SPI閃存內(nèi)比特流位置的初始地址。IAP系統(tǒng)服務(wù)請(qǐng)求也有三個(gè)用戶選項(xiàng):認(rèn)證、編程或驗(yàn)證。認(rèn)證通常是在FPGA配置存儲(chǔ)器編程之前執(zhí)行的,以驗(yàn)證SPI閃存內(nèi)的比特流適用于正在編程的器件。在認(rèn)證期間,器件正常運(yùn)行。

包含新比特流的外部SPI閃存還包含一個(gè)額外的鏡像,即用作恢復(fù)目的的一個(gè)好版本。用戶可以在任何時(shí)間點(diǎn)使用恢復(fù)鏡像將FPGA配置為良好狀態(tài)?;謴?fù)鏡像可以 “原樣”保存,也可在需要時(shí)進(jìn)行更新以便用于關(guān)鍵漏洞的修復(fù)。

IAP功能實(shí)施期間可以使用程序恢復(fù)功能。若編程期間斷電,啟動(dòng)編程恢復(fù),系統(tǒng)控制器會(huì)以可控的方式將編程FPGA的內(nèi)部電荷泵禁動(dòng)。在接下來(lái)的供電周期中,在啟動(dòng)FPGA結(jié)構(gòu)之前,系統(tǒng)控制器將檢測(cè)到器件編程操作已經(jīng)被中斷,它將從外部SPI閃存中的比特流啟動(dòng)編程周期。用戶可選擇從好的鏡像進(jìn)行更新或從剛剛推送到SPI閃存的遠(yuǎn)程更新鏡像進(jìn)行更新。當(dāng)外部比特流被載入到SmartFusion2 FPGA內(nèi)時(shí),它采用內(nèi)置的DPA對(duì)抗邏輯,以確保沒(méi)有電磁探針能夠?qū)⒓用艹捉饷?,從而為嵌入式系統(tǒng)提供可信任的安全器件。

與安全加密比特流和比特流驗(yàn)證一起使用,程序恢復(fù)可提供目前連接的嵌入式系統(tǒng)需要的安全可靠的遠(yuǎn)程編程更新機(jī)制,即使FPGA配置存儲(chǔ)器在編程的過(guò)程中斷電也一樣。

本站聲明: 本文章由作者或相關(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工具的開(kāi)發(fā)耗時(shí)1.5...

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

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(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ì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

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

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(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)閉