0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于閃存工藝的SoC實(shí)現(xiàn)嵌入式系統(tǒng)安全啟動(dòng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-04-18 08:09 ? 次閱讀

無(wú)論用做獨(dú)立的處理單元,或者與輔助處理器聯(lián)合使用,SoC FPGA器件均可以改善嵌入式處理的安全性。雖然可以利用專(zhuān)用安全器件來(lái)構(gòu)建嵌入式處理器模塊,實(shí)施監(jiān)測(cè)和靜態(tài)密匙存儲(chǔ),然而,整合系統(tǒng)關(guān)鍵功能的SoC FPGA器件若能提供安全特性,便可以提供更大的安全性、靈活性和更好的性能。

在嵌入式設(shè)計(jì)中,Linux日益流行。隨著32位計(jì)算成為常見(jiàn)商品,Yocto等項(xiàng)目使得用于嵌入式應(yīng)用和基于Linux的系統(tǒng)的創(chuàng)建、開(kāi)發(fā),以及維護(hù)變得更加容易,使得Linux系統(tǒng)的流行性可能會(huì)進(jìn)一步增長(zhǎng)。Linux使得OEM廠商變得更像初創(chuàng)企業(yè),其靈活的硬件開(kāi)發(fā)團(tuán)隊(duì)通過(guò)使用操作系統(tǒng)來(lái)提取底層的硬件細(xì)節(jié),可以加快上市速度。盡管Linux系統(tǒng)具有優(yōu)勢(shì),然而,如果沒(méi)有合適的方法來(lái)啟動(dòng)其嵌入式處理器,便會(huì)易于受到rootkit攻擊,對(duì)于將會(huì)創(chuàng)建數(shù)十億個(gè)新的潛在不安全端點(diǎn)的新興物聯(lián)網(wǎng)來(lái)說(shuō),Rootkit特別構(gòu)成重大威脅。

一般而言,rootkit試圖接入特權(quán)(根)模式,同時(shí)躲避系統(tǒng)惡意軟件檢測(cè)工具。惡意軟件也可能試圖通過(guò)修改系統(tǒng)的啟動(dòng)過(guò)程,把自己安裝系統(tǒng)以進(jìn)入持久狀態(tài)。如果成功,惡意軟件感染便是永久的,或者通過(guò)上電循環(huán)持續(xù),自此便可以為所欲為,包括記錄擊鍵、形成僵尸網(wǎng)絡(luò)、收集個(gè)人信息,以及實(shí)施未經(jīng)授權(quán)的服務(wù)。一旦系統(tǒng)受到感染,可能需要重新安裝整個(gè)操作系統(tǒng)。

問(wèn)題從嵌入式處理器開(kāi)始,其啟動(dòng)通常如圖1所示。在上電時(shí),片上ROM將從外部非易失性存儲(chǔ)器取得啟動(dòng)加載程序。啟動(dòng)加載程序是專(zhuān)用的,并且在啟動(dòng)期間對(duì)處理器進(jìn)行配置以滿(mǎn)足特定的應(yīng)用需求。時(shí)鐘、緩存、存儲(chǔ)器控制器,以及外設(shè)均進(jìn)行配置。一旦處理器完成初始化,就從外部非易失性存儲(chǔ)器取得應(yīng)用程序,有時(shí)進(jìn)行解壓縮,并且復(fù)制到應(yīng)用程序開(kāi)始之處的快速外部易失性存儲(chǔ)器,讓程序開(kāi)始運(yùn)行。

基于閃存工藝的SoC實(shí)現(xiàn)嵌入式系統(tǒng)安全啟動(dòng)的設(shè)計(jì)

圖1 嵌入式啟動(dòng)過(guò)程

在啟動(dòng)過(guò)程中,惡意軟件有機(jī)會(huì)試圖修改嵌入式系統(tǒng)的啟動(dòng)程序bootloader。如圖2所示為嵌入式Linux系統(tǒng)的典型框圖,UBOOT、Linux內(nèi)核和應(yīng)用程序?qū)泳鎯?chǔ)在易于讀取的非易失性存儲(chǔ)器中。

基于閃存工藝的SoC實(shí)現(xiàn)嵌入式系統(tǒng)安全啟動(dòng)的設(shè)計(jì)

圖2 嵌入式Linux系統(tǒng)

保護(hù)啟動(dòng)過(guò)程的唯一方法,是使用一個(gè)確信它始終以預(yù)期方式運(yùn)行的組件來(lái)提供保護(hù)。作為系統(tǒng)組件,這種信任根(root-of-trust)支持了系統(tǒng)、軟件和數(shù)據(jù)完整性和保密性的校驗(yàn),以及內(nèi)部和外部實(shí)體的信任擴(kuò)展。這是創(chuàng)建所有其它安全層的基礎(chǔ),它的密匙必須一直保密,而且之前的啟動(dòng)過(guò)程不可改變,這是十分重要的。在嵌入式系統(tǒng)中,信任根與其它系統(tǒng)組件共同工作,以期確保只有經(jīng)過(guò)授權(quán)的代碼來(lái)安全地啟動(dòng)主處理器,從而將信任域擴(kuò)展到處理器及其應(yīng)用。通過(guò)使用加密技術(shù),可以擴(kuò)展信任域以涵蓋所有重要的系統(tǒng)組件,甚至通過(guò)本質(zhì)上不安全的網(wǎng)絡(luò)將數(shù)個(gè)信任系統(tǒng)捆綁在一起。

雖然許多較新的處理器具有支持安全啟動(dòng)的專(zhuān)門(mén)特性,然而處理器芯片安全啟動(dòng)的固有支持遠(yuǎn)不普及,通常需要一個(gè)多芯片解決方案。一個(gè)更好的解決方案是基于閃存工藝的FPGA器件,它們可以在多芯片嵌入式系統(tǒng)中提供最佳的信任根器件,顯著提升主嵌入式處理器所運(yùn)行的代碼的可信性。

基于閃存工藝的解決方案本質(zhì)上更加安全(它們一經(jīng)編程,關(guān)鍵的信息永不丟失),而且今天基于閃存工藝的 SoC FPGA解決方案還具有數(shù)項(xiàng)附加的先進(jìn)安全特性,包括片上振蕩器、用于加密服務(wù)的加速器、安全密匙存儲(chǔ)、真正隨機(jī)數(shù)發(fā)生器、在安全的嵌入式Flash memory(eNVM)中的片上啟動(dòng)代碼存儲(chǔ),以及使能外部處理器高速安全啟動(dòng)的高速串行外設(shè)接口(SPI)。這些器件還具有超越較早期解決方案的更強(qiáng)大的設(shè)計(jì)安全性,并且包含抵御差異化功率分析(DPA)技術(shù)的防篡改措施。結(jié)合嵌入式Linux CPU,它們能夠有效地用于防止惡意軟件試圖修改嵌入式系統(tǒng)的啟動(dòng)程序。

圖3所示為可以用于安全啟動(dòng)的基于閃存工藝的SoC示例,美高森美SmartFusion2 SoC器件中的eNVM用于存儲(chǔ)UBOOT,其FPGA架構(gòu)則實(shí)現(xiàn)高速的SPI接口。CPU并不知悉SoC位于其和SPI閃存之間。在上電時(shí),SoC將UBOOT的SPI讀取請(qǐng)求從內(nèi)部eNVM導(dǎo)向CPU,而后,CPU經(jīng)過(guò)正常的UBOOT啟動(dòng)過(guò)程,并且從外部SPI閃存取得應(yīng)用鏡像的剩余部分,在后一個(gè)階段中,SoC用作外部存儲(chǔ)器的管道,并且將應(yīng)用鏡像傳送給CPU。SoC及其內(nèi)部eNVM僅可使用經(jīng)過(guò)認(rèn)證的加密位流進(jìn)行編程,這一位流僅可由SoC的FPGA開(kāi)發(fā)環(huán)境來(lái)建立。位流文件格式是專(zhuān)有的,并且不提供給任何人,并且具有從Cryptography Research Incorporated(現(xiàn)為Rambus)授權(quán)許可的專(zhuān)利保護(hù)措施,可以抵御DPA側(cè)道攻擊。換句話(huà)說(shuō),惡意軟件試圖寫(xiě)入快閃的唯一途徑是具有設(shè)計(jì)用于該SoC并備有合適的加密和用戶(hù)定義密匙的位流。

基于閃存工藝的SoC實(shí)現(xiàn)嵌入式系統(tǒng)安全啟動(dòng)的設(shè)計(jì)

圖3 SmartFusion2器件用于存儲(chǔ)UBOOT

為了確保安全的多級(jí)啟動(dòng),在提供和執(zhí)行代碼之前必須先進(jìn)行驗(yàn)證,這是必不可少的,這可確保不會(huì)出現(xiàn)攪亂或損壞各階段的啟動(dòng),并且可以使用對(duì)稱(chēng)或非對(duì)稱(chēng)密匙加密技術(shù)來(lái)進(jìn)行。更好的是,使用對(duì)前一個(gè)階段的連續(xù)反饋來(lái)確認(rèn)在啟動(dòng)加載期間沒(méi)有發(fā)生篡改。如果所有的防篡改(AT)監(jiān)測(cè)器確認(rèn)環(huán)境安全,隨后的各個(gè)階段便可以繼續(xù)執(zhí)行。

今天的SoC FPGA可以獨(dú)立提供運(yùn)行時(shí)間監(jiān)測(cè)和校正行動(dòng),有需要時(shí)也可以提供懲罰。為了這樣做,所有的應(yīng)用程序代碼將存儲(chǔ)在SPI快閃中,而且可加密。SoC器件將在每個(gè)階段對(duì)代碼進(jìn)行真實(shí)性檢查和解密 (如果需要),并且通過(guò)MPU-to-FPGA SPI接口進(jìn)行請(qǐng)求時(shí),把它們饋入主MPU。為了增加安全性,啟動(dòng)加載程序代碼將會(huì)存儲(chǔ)在SoC FPGA的eNVM中。

在上電之后,F(xiàn)PGA將保持主MPU在復(fù)位狀態(tài),直到它完成自已的完整性自我測(cè)試。在準(zhǔn)備好時(shí),它會(huì)釋放復(fù)位。MPU將被配置成從通向FPGA的接口啟動(dòng)(例如通過(guò)SPI接口)。FPGA用作SPI從器件,在MPU復(fù)位之后,將向MPU提供所請(qǐng)求的Phase-0啟動(dòng)代碼,假設(shè)MPU本身不支持安全啟動(dòng),挑戰(zhàn)則會(huì)是將某些代碼載入MPU中并且高度確保它未被篡改。

如果各個(gè)項(xiàng)目均沒(méi)有問(wèn)題,啟動(dòng)過(guò)程將會(huì)連續(xù)將通過(guò)確認(rèn)的代碼載入MPU的SRAM中,這將包括發(fā)起下一階段的所需代碼,以及包括一個(gè)通過(guò)確認(rèn)的RSA 或者 ECC公共密匙。一旦MPU SRAM中的代碼獲得信任,便可以部署附加的安全措施,比如使用公共密匙方法來(lái)建立分享的密匙,以及使用分享的密匙,對(duì)FPGA和MPU之間傳輸?shù)乃泻罄m(xù)導(dǎo)引代碼進(jìn)行加密。此外,也可以將系統(tǒng)所有的硬件組件捆綁在一起加密,使得系統(tǒng)中必須具備初始系統(tǒng)的所有組件才可以運(yùn)作。

此外,SoC可以提供模塊環(huán)境情況的實(shí)時(shí)監(jiān)控,比如溫度、電壓、時(shí)鐘頻率和其它因素。FPGA架構(gòu)可以通過(guò)安全的配置,提供I/O給外部篡改傳感器和侵入檢測(cè)器。SoC通過(guò)它們來(lái)感測(cè),防止來(lái)自已知漏洞的攻擊,這些攻擊會(huì)施加異常條件來(lái)提取關(guān)鍵的信息。只要通過(guò)合適的設(shè)計(jì),便可以達(dá)到更高的安全水平。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19100

    瀏覽量

    228814
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18973

    瀏覽量

    302040
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4099

    瀏覽量

    217774
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    集成嵌入式平臺(tái)加速了SoC嵌入式系統(tǒng)的軟件調(diào)試和啟動(dòng)

      這種跨學(xué)科的早期研究改進(jìn)了設(shè)計(jì)硬件并加速了 SoC嵌入式系統(tǒng)的軟件調(diào)試和啟動(dòng)。軟件開(kāi)發(fā)人員和硬件工程師都同意這是朝著正確方向邁出的一步。
    的頭像 發(fā)表于 06-28 15:31 ?2462次閱讀
    集成<b class='flag-5'>嵌入式</b>平臺(tái)加速了<b class='flag-5'>SoC</b>和<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>的軟件調(diào)試和<b class='flag-5'>啟動(dòng)</b>

    嵌入式閃存技術(shù)助力智能汽車(chē)接口的實(shí)現(xiàn)

    基礎(chǔ)工藝掩膜組增加三個(gè)光罩層。對(duì)于一個(gè)嵌入式閃存的單個(gè)芯片,它只占該芯片總體積三分之一;掩膜層數(shù)量越少,HiMOS方案的單元密度就越低,從而使整個(gè)替代技術(shù)的凈成本降低15%。 未來(lái)之路 最后,除了節(jié)省空間
    發(fā)表于 04-08 09:36

    嵌入式閃存助力智能汽車(chē)接口應(yīng)用實(shí)現(xiàn)

    信號(hào)及80V高壓的能力,使得完全集成的SoC方案得以發(fā)展,實(shí)現(xiàn)了成本和空間的顯著降低及性能的提升。特別是包含閃存工藝只需要對(duì)I3T80基礎(chǔ)工藝
    發(fā)表于 04-30 07:00

    基于閃存工藝SoC FPGA器件實(shí)現(xiàn)安全啟動(dòng)設(shè)計(jì)

    無(wú)論用做獨(dú)立的處理單元,或者與輔助處理器聯(lián)合使用,SoC FPGA器件均可以改善嵌入式處理的安全性。雖然可以利用專(zhuān)用安全器件來(lái)構(gòu)建嵌入式處理
    發(fā)表于 06-19 06:57

    如何實(shí)現(xiàn)嵌入式ASIC和SoC的存儲(chǔ)器設(shè)計(jì)?

    基于傳統(tǒng)六晶體管(6T)存儲(chǔ)單元的靜態(tài)RAM存儲(chǔ)器塊一直是許多嵌入式設(shè)計(jì)中使用ASIC/SoC實(shí)現(xiàn)的開(kāi)發(fā)人員所采用的利器,因?yàn)檫@種存儲(chǔ)器結(jié)構(gòu)非常適合主流的CMOS工藝流程,不需要增添任
    發(fā)表于 08-02 06:49

    SOC嵌入式相關(guān)資料推薦

    SOC嵌入式SOC如arm、aarch64等嵌入式產(chǎn)品:樹(shù)莓派,mini2440、mini6410、nanopi,海思、高通、RK(瑞芯微)->KTV點(diǎn)歌機(jī)、人臉識(shí)別打卡器、智能家居主
    發(fā)表于 11-01 08:14

    嵌入式系統(tǒng)安全面臨的挑戰(zhàn)是什么

    在我們努力在更小的嵌入式系統(tǒng)中使用更多功能時(shí),它們的安全性往往被忽視。本文討論了過(guò)去的一些安全漏洞,并討論了嵌入式
    發(fā)表于 12-22 07:44

    基于ARM-μCLinux嵌入式系統(tǒng)啟動(dòng)引導(dǎo)的實(shí)現(xiàn)

    基于ARM-μCLinux嵌入式系統(tǒng)啟動(dòng)引導(dǎo)的實(shí)現(xiàn):介紹了 ARM-μCLinux 嵌入式系統(tǒng)的結(jié)構(gòu)組成,重點(diǎn)分析了 ARM--μCLinu
    發(fā)表于 06-25 08:14 ?36次下載

    使用新SRAM工藝實(shí)現(xiàn)嵌入式ASIC和SoC的存儲(chǔ)器設(shè)計(jì)

    使用新SRAM工藝實(shí)現(xiàn)嵌入式ASIC和SoC的存儲(chǔ)器設(shè)計(jì)基于傳統(tǒng)六晶體管(6T)存儲(chǔ)單元的靜態(tài)RAM存儲(chǔ)器塊一直是許多嵌入式設(shè)計(jì)中使用ASI
    發(fā)表于 02-01 09:11 ?1305次閱讀
    使用新SRAM<b class='flag-5'>工藝</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>嵌入式</b>ASIC和<b class='flag-5'>SoC</b>的存儲(chǔ)器設(shè)計(jì)

    汽車(chē)嵌入式SoC系統(tǒng)的應(yīng)用與發(fā)展

    汽車(chē)嵌入式SoC系統(tǒng)的應(yīng)用與發(fā)展 嵌入式系統(tǒng)是泛計(jì)算領(lǐng)域的重要組成部分,是嵌入式對(duì)象宿主體系中
    發(fā)表于 10-26 14:08 ?1394次閱讀
    汽車(chē)<b class='flag-5'>嵌入式</b><b class='flag-5'>SoC</b><b class='flag-5'>系統(tǒng)</b>的應(yīng)用與發(fā)展

    嵌入式系統(tǒng)U盤(pán)實(shí)時(shí)啟動(dòng)技術(shù)

    本文給出了實(shí)現(xiàn)嵌入式實(shí)時(shí)系統(tǒng)優(yōu)盤(pán)啟動(dòng)嵌入式主機(jī)硬件結(jié)構(gòu)、軟件協(xié)議棧以及主要程序流程,探討了實(shí)現(xiàn)
    發(fā)表于 07-20 15:09 ?1708次閱讀

    如何構(gòu)建基于處理器的嵌入式安全系統(tǒng)?

    嵌入式安全系統(tǒng)概述;嵌入式系統(tǒng)安全技術(shù);安全應(yīng)用處理器介紹 ;基于安全處理器的
    的頭像 發(fā)表于 01-25 07:06 ?2520次閱讀
    如何構(gòu)建基于處理器的<b class='flag-5'>嵌入式</b><b class='flag-5'>安全系統(tǒng)</b>?

    使用外部閃存安全嵌入式系統(tǒng)

    在本系列的第 1 部分中,我們介紹了安全性在連接的嵌入式系統(tǒng)中的重要性,以及強(qiáng)制使用外部閃存閃存的去集成。在本系列的第 2 部分中,我們介
    的頭像 發(fā)表于 10-21 09:23 ?621次閱讀
    使用外部<b class='flag-5'>閃存</b>的<b class='flag-5'>安全</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>

    嵌入式系統(tǒng)安全實(shí)用技巧

    嵌入式系統(tǒng)安全實(shí)用技巧
    的頭像 發(fā)表于 12-28 09:51 ?690次閱讀

    如何使用 DSC 和 MCU 確保嵌入式系統(tǒng)安全

    作者:Stephen Evanczuk 投稿人:DigiKey 北美編輯 隨著向物聯(lián)網(wǎng) (IoT) 的遷移,安全性已不再是嵌入式應(yīng)用中的選配功能,已發(fā)展成為確保系統(tǒng)完整性所需的必備能力。為了滿(mǎn)足日益
    的頭像 發(fā)表于 02-13 14:38 ?638次閱讀
    如何使用 DSC 和 MCU 確保<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)安全</b>