91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

保護嵌入式系統(tǒng)免受未經(jīng)授權(quán)的軟件修改

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:ANDR WEIMERSKIRCH, PH ? 2022-11-08 10:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:ANDR WEIMERSKIRCH, PH.D.,KAI SCHRAMM, PH.D.

當今的嵌入式航空電子設備和其他安全關(guān)鍵型系統(tǒng)越來越面臨著提高安全性的要求。因此,利用數(shù)字簽名和Rivest Shamir Adleman(RSA)和橢圓曲線加密(ECC)算法的軟件下載/刷新方案有助于防止未經(jīng)授權(quán)的訪問和偽造。

現(xiàn)代世界中越來越多的設備配備了多種嵌入式系統(tǒng)。這一趨勢的一個明顯例子是航空業(yè),它使用大量電子控制單元 (ECU) 來控制幾乎所有東西,例如空調(diào)、發(fā)動機甚至制動系統(tǒng)[1]。ECU通常允許通過引導加載程序下載更新的程序和數(shù)據(jù)代碼。必須確保軟件的真實性和安全啟動過程,因為越來越多的嵌入式設備用于安全敏感應用,例如飛機的發(fā)動機控制。因此,必須防止對這些設備的任何本地或遠程篡改[1]。

為了防止偽造或未經(jīng)授權(quán)的訪問,必須安全地更新軟件(通常存儲在可重新編程的閃存中)。在引導過程中(軟件通常在安全的后端服務器上簽名,然后使用引導加載程序安裝),系統(tǒng)必須通過檢查數(shù)字簽名來驗證新固件的真實性。僅當此驗證成功時,設備才能執(zhí)行新固件。討論了一種基于數(shù)字簽名的安全軟件下載/燒錄方案,集成了Rivest Shamir Adleman(RSA)算法和橢圓曲線加密(ECC)簽名算法,作為授予這種保證的一種手段[3]。

通過數(shù)字簽名實現(xiàn)真實性

數(shù)字簽名提供完整性和真實性;經(jīng)過數(shù)字簽名的數(shù)據(jù)不能被惡意第三方更改,否則接收方不會檢測到。此外,接收方可以驗證數(shù)據(jù)是否確實由聲明的簽名者簽名。此外,簽名者不能否認他是簽名的合法創(chuàng)建者(不可否認性)。此外,數(shù)字簽名是使用非對稱加密算法(如 RSA 算法或 ECC)生成和驗證的。

數(shù)字簽名的計算如圖 1 所示。有一對密鑰由私鑰SK和公鑰PK組成。只有簽名者可以訪問 SK,而 PK 可以公開分發(fā)。一般來說,SK只為嵌入式系統(tǒng)的制造商所知,例如航空業(yè)的OEM,而PK內(nèi)置于每個嵌入式系統(tǒng)中。程序代碼 x 首先被哈希為一個短的固定長度值 y。通常,y 是通過應用安全哈希算法 (SHA)1 系列的哈希函數(shù)來計算的。然后使用私鑰SK在y上計算數(shù)字簽名。此后可以使用公鑰PK驗證簽名。

圖1:在嵌入式系統(tǒng)制造商處生成數(shù)字簽名

21

因此,軟件頒發(fā)者(即嵌入式系統(tǒng)的制造商)持有用于對軟件進行簽名的私鑰SK,ECU持有相應的公鑰PK用于驗證它(再次參見圖1)。

安全軟件下載

利用安全的軟件下載過程是在現(xiàn)代嵌入式系統(tǒng)中維護這些所需信息安全級別的關(guān)鍵。安全軟件下載過程包括幾個獨特但至關(guān)重要的步驟(參見圖 2):

第 1 步:軟件開發(fā)完成。

步驟 2:將程序目標代碼傳遞到軟件頒發(fā)者安全環(huán)境中的信任中心,該信任中心使用其私鑰 SK 對目標代碼進行簽名。

第 3 步:然后將簽名傳回并附加到程序目標代碼。

第 4 步:代碼包和簽名包現(xiàn)在存儲在數(shù)據(jù)庫中,該數(shù)據(jù)庫可能包含不同嵌入式系統(tǒng)的版本。

步驟5:將適當?shù)某绦虼a下載到嵌入式系統(tǒng)。

第 6 步:然后使用相應的公共驗證密鑰 PK 驗證相應的程序代碼。

圖2:安全軟件下載過程

22

在此安全軟件下載的上下文中,RSA 適合進行簽名驗證。這是因為它允許非??焖俚暮灻炞C,并且可以在不侵犯專利的情況下在軟件中實現(xiàn)。表 1 中顯示了此實現(xiàn)的一些性能值。

表 1:與各種加密算法相比,在 ARM MPCore @ 400 MHz 上測量的 RSA 簽名驗證的運行時間

21

頒發(fā)單個私鑰/公鑰對就足夠了,這樣私鑰 SK 存儲在信任中心,公鑰 PK 存儲在嵌入式系統(tǒng)中。信任中心可能是與任何計算機網(wǎng)絡斷開連接的電腦和保存密鑰的安全智能卡。嵌入式系統(tǒng)只需要存儲公鑰,這樣系統(tǒng)本身就不會存儲任何機密信息。但是,必須保護此公鑰免受操縱(也就是說,它必須存儲在可以讀取但不能覆蓋的安全內(nèi)存中[3])。因此,安全存儲插座包括只讀存儲器(ROM)或一次寫入多次讀?。╓ORM)存儲器,必須在生產(chǎn)過程中由制造商初始化[1]。

安全軟件刷機

在閃存過程中,每個軟件塊都可選加密,并事先計算簽名。接下來,外部編程設備對引導加載程序進行身份驗證(例如,通過使用質(zhì)詢-響應機制)。然后,外部設備逐塊傳遞到嵌入式系統(tǒng)的引導加載程序。引導加載程序解密并存儲每個塊,并在其上計算哈希[2]。最后,在引導加載程序計算出新閃存程序文件的哈希值后,它會執(zhí)行數(shù)字簽名驗證。如果簽名驗證成功,則接受并激活下載的文件。否則,將激活安全程序,引導加載程序?qū)⒌却螺d正確的閃存文件。

數(shù)字簽名確保安心

通常,固件中內(nèi)置了引導加載程序以更新程序。但是,在大多數(shù)情況下,沒有實施任何機制來避免下載以未經(jīng)制造商授權(quán)的方式更改設備行為的操縱程序。所提出的機制是操縱攻擊的有效對策。這種機制已經(jīng)在各種應用中成功實施,例如汽車領域[3]、航空領域,甚至手機行業(yè)。我們強烈建議實施所述的基于數(shù)字簽名的非對稱加密方法。

審核編輯:郭婷

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

    關(guān)注

    5199

    文章

    20454

    瀏覽量

    334246
  • ecu
    ecu
    +關(guān)注

    關(guān)注

    14

    文章

    983

    瀏覽量

    57287
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    什么是嵌入式應用開發(fā)?

    概述 所謂的嵌入式應用開發(fā)就是在嵌入式操作系統(tǒng)下進行開發(fā)、軟硬件綜合開發(fā) ?嵌入式應用開發(fā)?是指在嵌入式操作
    發(fā)表于 01-12 16:13

    嵌入式軟件測試找bug的常見方法和秘訣

    “我怎么才能使程序跑得更快”、“什么編譯器最好”等問題。 面對這個不同尋常卻異乎成熟的問題,可能很多人都不知道怎么辦,下面就來講講軟件測試找bug常見方法和秘訣。 1懂得使用工具 通常嵌入式系統(tǒng)
    發(fā)表于 01-12 07:07

    嵌入式系統(tǒng)應用熱門的原因主要有幾個方面

    的內(nèi)核?簡直沒有可比性。2. 專用性強。嵌入式系統(tǒng)的個性化很強,其中的軟件系統(tǒng)和硬件的結(jié)合非常緊密,一般要針對硬件進行系統(tǒng)的移植,即使在同
    發(fā)表于 01-08 06:37

    系統(tǒng)嵌入式的學習路線

    ,供各位嵌入式初學者參考,希望對大家有所幫助。嵌入式工程師需要掌握的內(nèi)容非常廣泛,主要包括嵌入式軟件嵌入式硬件、以及相關(guān)行業(yè)、產(chǎn)品的專業(yè)知
    發(fā)表于 12-16 07:49

    CW32嵌入式軟件開發(fā)的必備知識

    設計的原則和方法,能夠設計出高效、可維護的軟件系統(tǒng)。 了解嵌入式系統(tǒng)的實時性要求,能夠設計出滿足實時性要求的軟件
    發(fā)表于 11-28 07:48

    嵌入式軟件分層架構(gòu)設計原則

    嵌入式軟件分層架構(gòu)的設計原則如下: 模塊化和可擴展性:每一層應當保持松耦合,這樣當硬件變化或某些功能擴展時,只需要修改對應的層次,而不影響整體架構(gòu)。 硬件無關(guān)性:上層代碼應當盡量避免直接依賴硬件
    發(fā)表于 11-28 07:05

    嵌入式系統(tǒng)的定義和應用領域

    嵌入式系統(tǒng),簡而言之,就是一種專為特定設備或裝置設計的計算機系統(tǒng)。它們通常配備一個嵌入式處理器,其控制程序被存儲在ROM中。這些系統(tǒng)在許多日
    發(fā)表于 11-17 06:49

    如何采用SAFERTOS和ESM保護嵌入式系統(tǒng)安全

    信任根的重要組成部分是實時操作系統(tǒng)(RTOS),它為應用程序的運行提供了一個安全的平臺。嵌入式系統(tǒng)的具體安全要求取決于其架構(gòu)以及所面臨的威脅。在本博客中,我們將探討RTOS的安全性,以SAFERTOS及其增強安全模塊(ESM)作
    的頭像 發(fā)表于 10-24 15:51 ?1475次閱讀

    RT-Thread 2025嵌入式軟件大賽重磅來襲

    頂尖芯片廠商,以及電子發(fā)燒友等合作伙伴,為開發(fā)者提供展示編程能力與創(chuàng)新思維的頂級舞臺。參賽者將基于主流嵌入式平臺,實現(xiàn)高效、智能、可靠的軟件方案,探索嵌入式系統(tǒng)在A
    的頭像 發(fā)表于 09-20 10:06 ?1761次閱讀
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>大賽重磅來襲

    新一代嵌入式開發(fā)平臺 AMD嵌入式軟件和工具2025.1版現(xiàn)已推出

    AMD 2025.1 版嵌入式軟件和工具是面向新一代嵌入式系統(tǒng)開發(fā)而打造的綜合平臺,全面加速概念構(gòu)想到部署落地。 2025.1 版嵌入式
    的頭像 發(fā)表于 08-20 09:15 ?3994次閱讀

    AMD 2025.1版嵌入式軟件和工具的新增功能

    AMD 2025.1 版嵌入式軟件和工具是面向新一代嵌入式系統(tǒng)開發(fā)而打造的綜合平臺,全面加速概念構(gòu)想到部署落地。
    的頭像 發(fā)表于 08-15 15:32 ?1275次閱讀

    嵌入式軟件開發(fā)常用的軟件有哪些?

    文檔等非常方便,因為它查找,定位,彩色顯示等功能非常強大。開發(fā)人員會當成源代碼閱讀工具使用。 4. Keil uVision5 Keil 5 軟件是一款功能強大的嵌入式系統(tǒng)開發(fā)工具,主要用于編寫
    發(fā)表于 07-03 17:06

    嵌入式開發(fā)入門指南:從零開始學習嵌入式

    開發(fā)(設備驅(qū)動、內(nèi)核編譯) 4. 推薦的學習資源書籍:《嵌入式系統(tǒng)軟件設計基礎》《ARM Cortex-M系列嵌入式開發(fā)》在線課程:慕課網(wǎng)、B站嵌入式教學視頻實踐平臺:Arduino、
    發(fā)表于 05-15 09:29

    嵌入式軟件行業(yè)增長驅(qū)動因素

    嵌入式軟件在物聯(lián)網(wǎng)應用中至關(guān)重要,因為它管理設備操作、控制傳感器、支持連接并確保數(shù)據(jù)安全。例如,在智能家居中,恒溫器、安全攝像頭和燈光等設備使用嵌入式系統(tǒng)獨立運行,并通過云平臺或本地網(wǎng)
    的頭像 發(fā)表于 05-09 11:26 ?820次閱讀

    嵌入式系統(tǒng)開發(fā)圣經(jīng)【干貨】

    內(nèi)容包括:嵌入式系統(tǒng)的介紹、嵌入式SoC硬件系統(tǒng)概論、嵌入式系統(tǒng)軟件開發(fā)。適用于產(chǎn)品主管、
    發(fā)表于 03-12 13:58