你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
物聯(lián)網(wǎng)安全基礎(chǔ)知識(shí):確保安全引導(dǎo)和固件更新
發(fā)布時(shí)間:2020-12-17 責(zé)任編輯:lina
【導(dǎo)讀】通過(guò)組合使用,基于硬件的加密技術(shù)與安全存儲(chǔ)可提供實(shí)現(xiàn)安全物聯(lián)網(wǎng) (IoT) 設(shè)計(jì)所需的基本功能。但是,物聯(lián)網(wǎng)設(shè)備一旦部署,就會(huì)面臨多種威脅,這些威脅會(huì)破壞這些設(shè)備,發(fā)起即時(shí)攻擊,或造成更微妙和高級(jí)的持續(xù)性威脅。
通過(guò)組合使用,基于硬件的加密技術(shù)與安全存儲(chǔ)可提供實(shí)現(xiàn)安全物聯(lián)網(wǎng) (IoT) 設(shè)計(jì)所需的基本功能。但是,物聯(lián)網(wǎng)設(shè)備一旦部署,就會(huì)面臨多種威脅,這些威脅會(huì)破壞這些設(shè)備,發(fā)起即時(shí)攻擊,或造成更微妙和高級(jí)的持續(xù)性威脅。
本文描述了開(kāi)發(fā)人員應(yīng)如何使用基于底層安全機(jī)制構(gòu)建的信任根來(lái)增強(qiáng)物聯(lián)網(wǎng)設(shè)備的安全性,這個(gè)信任根在 Maxim Integrated、Microchip Technology、NXP Semiconductors 和 Silicon Labs 等廠商推出的安全處理器上可為軟件執(zhí)行提供一個(gè)可信任的環(huán)境。
什么是信任根,為什么需要信任根?
加密方法和安全密鑰是確保任何互聯(lián)設(shè)備安全性的關(guān)鍵促進(jìn)因素。如本系列文章的第 1 部分和第 2 部分所述,它們提供了更高層次協(xié)議所用的基本機(jī)制,以保護(hù)數(shù)據(jù)和通信。要保護(hù)系統(tǒng)本身,需要開(kāi)發(fā)人員解決可能影響嵌入式系統(tǒng)中的系統(tǒng)操作和軟件執(zhí)行的漏洞。
在典型的嵌入式系統(tǒng)中,由于電源故障或關(guān)鍵軟件異常導(dǎo)致的系統(tǒng)復(fù)位最終會(huì)引起軟件引導(dǎo)過(guò)程,從非易失性存儲(chǔ)器重新加載固件映像。通常,軟件重新引導(dǎo)是一種重要的安全機(jī)制,用于恢復(fù)被意外或有意打破穩(wěn)定性的系統(tǒng)功能。在互聯(lián)系統(tǒng)中,黑客使用各種黑帽工具來(lái)破壞軟件,而安全專家通常建議通過(guò)重新引導(dǎo),來(lái)應(yīng)對(duì)影響軟件執(zhí)行的入侵行為。例如,F(xiàn)BI 在 2018 年曾建議消費(fèi)者和企業(yè)主重新啟動(dòng)路由器,以阻止所發(fā)生的大規(guī)模黑客攻擊活動(dòng)。
實(shí)際上,重新引導(dǎo)并不能保證系統(tǒng)完整性。在固件映像被盜用的情況下重新引導(dǎo)后,系統(tǒng)仍處于黑客的控制之下。為了緩和此類威脅,開(kāi)發(fā)人員需要確保其軟件在信任鏈上運(yùn)行,而該信任鏈則基于引導(dǎo)時(shí)建立的信任根所構(gòu)建,并延伸至軟件執(zhí)行環(huán)境的所有層面。能否達(dá)到此安全級(jí)別關(guān)鍵取決于,確保使用可信的固件開(kāi)始引導(dǎo)過(guò)程。
驗(yàn)證固件映像進(jìn)行安全引導(dǎo)
在嵌入式系統(tǒng)中,主機(jī)處理器將固件映像從閃存加載到主存儲(chǔ)器中并開(kāi)始執(zhí)行(或者直接從具有芯片內(nèi)執(zhí)行 (XIP) 功能的閃存開(kāi)始執(zhí)行)。如果黑客已盜用固件映像,則引導(dǎo)過(guò)程將會(huì)導(dǎo)致系統(tǒng)被劫持。
為了在引導(dǎo)之前驗(yàn)證固件的完整性,開(kāi)發(fā)人員使用了一個(gè)從供應(yīng)鏈早期開(kāi)始的代碼簽名過(guò)程。在安全的設(shè)施內(nèi),通過(guò)使用橢圓曲線數(shù)字簽名算法 (ECDSA) 之類的加密穩(wěn)健算法創(chuàng)建的私鑰 - 公鑰對(duì),可對(duì)系統(tǒng)的固件映像進(jìn)行簽名。盡管私鑰從未離開(kāi)過(guò)設(shè)施,但系統(tǒng)公鑰會(huì)隨系統(tǒng)一起發(fā)運(yùn)。在引導(dǎo)過(guò)程中,處理器會(huì)在使用映像之前運(yùn)用此系統(tǒng)公鑰來(lái)驗(yàn)證固件簽名。
當(dāng)然,在上述過(guò)程中,公鑰本身容易受到攻擊,而且在擴(kuò)展時(shí),這會(huì)使系統(tǒng)固件容易遭到未經(jīng)授權(quán)的替換。如果公鑰在嵌入式系統(tǒng)中繼續(xù)不受保護(hù),黑客可能會(huì)用自己生成的私鑰 - 公鑰對(duì)中的公鑰來(lái)替換它。如果他們以自己擁有的相關(guān)私鑰簽名的惡意固件替換了系統(tǒng)的固件映像,則被盜用的固件簽名將會(huì)通過(guò)驗(yàn)證過(guò)程,并繼續(xù)引導(dǎo)過(guò)程,從而導(dǎo)致系統(tǒng)被劫持。
因此,安全系統(tǒng)依賴于在安全設(shè)施內(nèi)的安全元件中預(yù)配置的有效公鑰。Maxim Integrated 的 DS28C36 和 Microchip Technology 的 ATECC608A 這類安全 IC 不僅可以安全地存儲(chǔ)傳統(tǒng)安全元件,還能安全地執(zhí)行 ECDSA 等認(rèn)證算法進(jìn)行固件簽名認(rèn)證。
例如,在引導(dǎo)之前,主機(jī)處理器可通過(guò)串行接口將固件發(fā)送到 DS28C36。DS28C36 隨即使用先前在安全設(shè)施中預(yù)配置的系統(tǒng)公鑰,來(lái)驗(yàn)證固件簽名是否確實(shí)由同一安全設(shè)施中的關(guān)聯(lián)私鑰創(chuàng)建。最后,DS28C36 將驗(yàn)證結(jié)果發(fā)送至主機(jī)處理器,如果簽名有效,主機(jī)處理器會(huì)繼續(xù)加載固件映像(圖 1)。
更安全的引導(dǎo)過(guò)程可保護(hù)固件映像,以消除密鑰或映像被盜用造成的問(wèn)題。通過(guò)使用安全存儲(chǔ)和加密加速器,有效的安全引導(dǎo)功能已內(nèi)置到越來(lái)越多的處理器中,包括 Silicon Laboratories 的 Gecko 系列 2 處理器、NXP 的 LPC55S69JBD100、Maxim Integrated 的 MAX32520 和 Microchip Technology 的 ATSAML11D16A 等等。利用這些功能,此類安全處理器可以提供所需的信任根,以創(chuàng)建用于系統(tǒng)和應(yīng)用軟件執(zhí)行的可信環(huán)境。
通過(guò)安全引導(dǎo)提供信任根
此類安全處理器提供安全引導(dǎo)選項(xiàng),旨在確保信任根所依托的固件映像的完整性。例如,Silicon Laboratories 的 EFR32MG21A 和 EFR32BG22 Gecko 系列 2 處理器分別通過(guò)基于硬件安全元件和虛擬安全元件 (VSE) 的多級(jí)引導(dǎo)過(guò)程來(lái)構(gòu)建此信任根(圖 2)。
在 EFR32MG21A 中,專用處理器內(nèi)核提供加密功能以及用于安全密鑰存儲(chǔ)的硬件安全元件。在此專用功能的支持下,處理器使用只讀存儲(chǔ)器 (ROM) 中存儲(chǔ)的代碼發(fā)起引導(dǎo)過(guò)程,以驗(yàn)證第一級(jí)引導(dǎo)程序 (FSB) 代碼。完成驗(yàn)證后,F(xiàn)SB 代碼即會(huì)運(yùn)行,接著又會(huì)驗(yàn)證第二級(jí)引導(dǎo)程序 (SSB) 的代碼簽名。引導(dǎo)序列繼續(xù)執(zhí)行經(jīng)驗(yàn)證的 SSB,后者進(jìn)而會(huì)驗(yàn)證應(yīng)用程序代碼的簽名,而該代碼通常包括系統(tǒng)級(jí)代碼和更高級(jí)別的應(yīng)用程序代碼。最后,經(jīng)驗(yàn)證的應(yīng)用程序代碼運(yùn)行,系統(tǒng)根據(jù)應(yīng)用程序的要求繼續(xù)執(zhí)行操作。
由于此過(guò)程從 ROM 代碼開(kāi)始,而且僅運(yùn)行經(jīng)驗(yàn)證的 FSB、SSB 和應(yīng)用程序代碼,因此該方法將產(chǎn)生經(jīng)驗(yàn)證的信任鏈來(lái)執(zhí)行代碼。由于此信任鏈中的第一環(huán)依賴于無(wú)法修改的 ROM 代碼,因此信任鏈中后續(xù)的每一環(huán)都會(huì)延續(xù)此可信環(huán)境。與此同時(shí),這種方法還允許開(kāi)發(fā)人員安全地更新應(yīng)用程序代碼,甚至是第一級(jí)和第二級(jí)引導(dǎo)程序代碼。只要每個(gè)代碼包都提供經(jīng)驗(yàn)證的簽名,可信環(huán)境就能保持完好。
使用信任根提供這種安全引導(dǎo)的處理器,通常支持多種模式和選項(xiàng)。例如,Silicon Laboratories 的 Gecko 系列 2 處理器提供了更強(qiáng)大的基于證書(shū)的安全引導(dǎo)功能。
證書(shū)可用于常規(guī)公鑰基礎(chǔ)結(jié)構(gòu) (PKI) 事務(wù)處理,包含公鑰以及對(duì)一個(gè)或多個(gè)相關(guān)證書(shū)的引用,這些證書(shū)最終指向證書(shū)頒發(fā)機(jī)構(gòu) (CA) 授予的根證書(shū)。此鏈中的每個(gè)證書(shū)均用于驗(yàn)證其下面的證書(shū),從而形成基于值得信賴的 CA 的信任鏈。在傳輸層安全性 (TLS) 的認(rèn)證階段,瀏覽器依靠此信任鏈來(lái)確認(rèn) Web 服務(wù)器的身份。嵌入式系統(tǒng)可采用相同的方法使用證書(shū)來(lái)確認(rèn)引導(dǎo)程序或應(yīng)用程序代碼源的身份。在這里,按照前述方式執(zhí)行多級(jí)引導(dǎo)過(guò)程,但需要額外驗(yàn)證與每一級(jí)相關(guān)的證書(shū)(圖 3)。
NXP 的 LPC55S69JBD100 等其他處理器支持多種不同的固件映像選項(xiàng)。除了簽名的固件映像外,這些處理器還支持使用可信計(jì)算組織推出的設(shè)備標(biāo)識(shí)符組合引擎 (DICE) 行業(yè)標(biāo)準(zhǔn)的引導(dǎo)映像。第三個(gè)選項(xiàng)允許開(kāi)發(fā)人員將映像存儲(chǔ)在支持 PRINCE 加密的處理器閃存特殊區(qū)域內(nèi),其中 PRINCE 加密是一種低延遲的分組加密,能夠在小得多的硅面積內(nèi)達(dá)到與其他加密相當(dāng)?shù)陌踩珡?qiáng)度。在 LPC55S69JBD100 中可實(shí)現(xiàn) PRINCE 加密,這種技術(shù)能對(duì)處理器專用的 PRINCE 閃存區(qū)中存儲(chǔ)的加密代碼或數(shù)據(jù)執(zhí)行實(shí)時(shí)解密。由于解密使用的密鑰僅供 PRINCE 加密引擎訪問(wèn),因此該解密過(guò)程仍然是安全的。實(shí)際上,這些密鑰由 LPC55S69JBD100 的物理不可克隆功能 (PUF) 生成的密鑰加密密鑰 (KEK) 提供保護(hù)。(有關(guān) PUF 和 KEK 用法的更多信息,請(qǐng)參見(jiàn)第 2 部分。)
這種方法使開(kāi)發(fā)人員能夠存儲(chǔ)更多固件映像,而這是在避免“封閉”設(shè)備的風(fēng)險(xiǎn)情況下,為物聯(lián)網(wǎng)設(shè)備提供固件無(wú)線 (FOTA) 更新方法所需的功能。如果處理器只能使用一個(gè)位置來(lái)存儲(chǔ)固件映像,則有缺陷的固件映像會(huì)將處理器置于不確定或鎖定的狀態(tài),從而鎖定或阻塞設(shè)備。通過(guò)將固件映像存儲(chǔ)在 LPC55S69JBD100 中啟用了 PRINCE 的閃存區(qū)內(nèi),開(kāi)發(fā)人員可使用回退策略,即如果新版本引導(dǎo)進(jìn)入無(wú)法工作狀態(tài),則還原固件的上一個(gè)正常工作版本。
由于所有這些新固件映像都必須通過(guò)基礎(chǔ)引導(dǎo)過(guò)程中所需的簽名驗(yàn)證檢查,所以開(kāi)發(fā)人員可充分利用安全 FOTA,在不影響系統(tǒng)或其信任鏈的情況下添加新功能或修復(fù)錯(cuò)誤。
總結(jié)
系統(tǒng)和應(yīng)用級(jí)別的安全性需要一個(gè)只允許授權(quán)軟件運(yùn)行的執(zhí)行環(huán)境。盡管代碼簽名驗(yàn)證是實(shí)現(xiàn)此類環(huán)境的基本功能,但安全系統(tǒng)還需要利用更全面的功能集來(lái)構(gòu)建必要的信任鏈,以確保執(zhí)行的是受信任的軟件。這些可信環(huán)境的基礎(chǔ)在于信任根,而信任根可通過(guò)安全處理器所支持的安全引導(dǎo)機(jī)制提供。使用此類處理器,開(kāi)發(fā)人員可以實(shí)現(xiàn)安全的物聯(lián)網(wǎng)設(shè)備,使其能夠抵御企圖破壞系統(tǒng)中的軟件執(zhí)行或完全劫持系統(tǒng)的攻擊行為。
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)電話或者郵箱聯(lián)系小編進(jìn)行侵刪。
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計(jì)
- ADI電機(jī)運(yùn)動(dòng)控制解決方案 驅(qū)動(dòng)智能運(yùn)動(dòng)新時(shí)代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 更高精度、更低噪音 GMCC美芝電子膨脹閥以創(chuàng)新?lián)屨夹袠I(yè)“制高點(diǎn)”
- 本立租完成近億元估值Pre-A輪融資,打造AI賦能的租賃服務(wù)平臺(tái)
- 中微公司成功從美國(guó)國(guó)防部中國(guó)軍事企業(yè)清單中移除
- 華邦電子白皮書(shū):滿足歐盟無(wú)線電設(shè)備指令(RED)信息安全標(biāo)準(zhǔn)
- 功率器件熱設(shè)計(jì)基礎(chǔ)(九)——功率半導(dǎo)體模塊的熱擴(kuò)散
技術(shù)白皮書(shū)下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門(mén)搜索
單向可控硅
刀開(kāi)關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容
點(diǎn)膠設(shè)備
電池
電池管理系統(tǒng)
電磁蜂鳴器
電磁兼容
電磁爐危害
電動(dòng)車
電動(dòng)工具
電動(dòng)汽車
電感
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖