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

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

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

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

如何使用STM32Trust生成器生成的SFI和SMI加密固件

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-02-04 15:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

昨天文章《最近STM32CubeMX、IDE、Programmer都更新了些什么內(nèi)容》講述了ST最近在這些工具上的動作。 今天講述的內(nèi)容是STM32生態(tài)中,STM32Trust下面的一部分內(nèi)容。 (本文參考應(yīng)用筆記文檔:AN5054) 一、回顧STM32Trust什么是STM32Trust? STM32Trust是一套STM32解決方案,提供完整的代碼保護(hù)和執(zhí)行保護(hù)工具套件,如下圖:

今天講述的就是代碼保護(hù)中,使用STM32TrustedPackageCreator生成SFI和SMI加密固件。 STM32Trust官方網(wǎng)址:

www.st.com/stm32trust

二、基礎(chǔ)介紹

SFI:Secure Firmware Installation,安全固件安裝解決方案。

SMI:Secure Module Install,安全模塊安裝。

OEM:Original Equipment Manufacturer,原始設(shè)備制造商(或原廠);

SFI格式是由ST公司創(chuàng)建的固件加密格式,它使用帶有128位密鑰的AES-GCM算法將固件(Elf、Hex、Bin或Srec格式)轉(zhuǎn)換為SFI格式的加密和認(rèn)證固件。

SMI格式是ST公司創(chuàng)建的一種格式,旨在保護(hù)合作伙伴的軟件(軟件模塊和庫)。

三、安裝STM32Trust生成器

STM32TrustedPackageCreator安全包生成器工具屬于STM32CubeProgrammer編程工具中的一部分(附加的工具)。

所以,在安裝STM32CubeProgrammer工具時,集成有STM32TrustedPackageCreator這個工具,只是默認(rèn)不安裝,需要手動勾選。

打開STM32TrustedPackageCreator工具,在主界面你就會看到一些我們之前說的SFI、SMI、HSM內(nèi)容。

四、SFI固件生成過程

主要過程如下框圖,由原廠固件、隨機數(shù)、密鑰,經(jīng)過STM32TrustedPackageCreator工具加密成SFI格式固件。

生成過程生產(chǎn)主要過程見下圖:

在執(zhí)行AES-GCM加密一個區(qū)域之前,我們計算初始化向量(IV)為:

IV = nonce + Area Index

該工具將固件映像劃分為幾個加密的部分,這些部分對應(yīng)于不同的內(nèi)存區(qū)域。

這些附加到相應(yīng)描述符(由工具生成的未加密的描述性頭部)的加密部分稱為區(qū)域。

這些領(lǐng)域分不同的類型:

F:固件區(qū)域(輸入固件中的常規(guī)段) M:模塊區(qū)域(用于SFI-SMI組合圖像生成,對應(yīng)于來自SMI模塊的輸入) C:配置區(qū)域(用于選擇字節(jié)配置) P:表示“暫?!眳^(qū)域 R:回復(fù)區(qū)域

區(qū)域“P”和“R”并不代表真正的固件區(qū)域,而是在SFI映像被分割成幾個部分時創(chuàng)建的,這是在SFI映像的全局大小超過用戶在創(chuàng)建SFI映像期間預(yù)定義的允許RAM大小時的情況。

下面RAM大小和CT地址輸入用于SFI:

P和R區(qū)域與常規(guī)SFI區(qū)域:

此生成過程的最終輸出是單個文件,該文件是經(jīng)過加密和驗證的SMI格式固件。SFI格式布局如下:

當(dāng)SFI圖像在生成過程中被分割時,“P”和“R”區(qū)域出現(xiàn)在SFI圖像布局中,如圖下圖所示:

五、SMI固件生成過程

SMI同樣是一種加密固件,只是這里面加密的是針對模塊和庫。

SMI加密過程和SFI有點類似,如下圖:

生成過程生產(chǎn)主要過程見下圖:

AES-GCM加密使用以下輸入:

?128位AES加密密鑰

?輸入nonce作為初始化向量(IV)

?作為附加身份驗證數(shù)據(jù)的安全版本(AAD)

在創(chuàng)建SMI映像文件之前,對SMI映像有效性進(jìn)行PCROP檢查:

?PCROP部分必須在Flash字(256位)上對齊,否則將顯示警告

?該區(qū)域的大小必須至少為2個Flash單詞(512位),否則將顯示警告

?該部分必須在Flash單詞邊界(256位單詞)上結(jié)束,否則將顯示警告

?如果緊隨PCROP部分之后的部分的起始地址與PCROP部分的最后一個Flash單詞重疊(在執(zhí)行PCROP對齊約束之后),則生成失敗并出現(xiàn)錯誤消息。

如果一切正常,在指定的路徑下創(chuàng)建兩個輸出:

?SMI圖像

?Lib數(shù)據(jù)

SMI格式布局如下:

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

    關(guān)注

    7

    文章

    322

    瀏覽量

    22712
  • SMIC
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    21357
  • STM32Trust
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    如何在LTspice仿真中實現(xiàn)偽隨機數(shù)和真隨機數(shù)的生成

    to reseed the MC generator(使用時鐘重新設(shè)置MC生成器的隨機種子)選項。文章探討了偽隨機數(shù)和真隨機數(shù)之間的利弊權(quán)衡,同時比較了蒙特卡羅統(tǒng)計仿真與更有針對性的最壞情況仿真之間的差異。
    的頭像 發(fā)表于 01-09 14:08 ?4684次閱讀
    如何在LTspice仿真中實現(xiàn)偽隨機數(shù)和真隨機數(shù)的<b class='flag-5'>生成</b>

    如何通過地址生成器實現(xiàn)神經(jīng)網(wǎng)絡(luò)特征圖的padding?

    ,從而使卷積輸出特征圖結(jié)果滿足我們的需求,這種補零的操作稱之為padding,如下圖所示。 關(guān)于padding的實現(xiàn),一般有兩種操作,第一種是使用稀疏地址生成器,尋找padding數(shù)據(jù)地址的規(guī)律,當(dāng)
    發(fā)表于 10-22 08:15

    非對稱密鑰生成和轉(zhuǎn)換規(guī)格詳解

    生成 以字符串參數(shù)生成RSA密鑰,具體的“字符串參數(shù)”由“RSA密鑰類型”和“素數(shù)個數(shù)”使用符號“|”拼接而成,用于在創(chuàng)建非對稱密鑰生成器時,指定密鑰規(guī)格。 說明:生成RSA非對稱密
    發(fā)表于 09-01 07:50

    生成式 AI 重塑自動駕駛仿真:4D 場景生成技術(shù)的突破與實踐

    生成式AI驅(qū)動的4D場景技術(shù)正解決傳統(tǒng)方法效率低、覆蓋不足等痛點,如何通過NeRF、3D高斯?jié)姙R等技術(shù)實現(xiàn)高保真動態(tài)建模?高效生成極端天氣等長尾場景?本文為您系統(tǒng)梳理AI驅(qū)動的4D場景生成體系及其在自動駕駛仿真中的實踐價值。
    的頭像 發(fā)表于 08-06 11:20 ?5145次閱讀
    <b class='flag-5'>生成</b>式 AI 重塑自動駕駛仿真:4D 場景<b class='flag-5'>生成</b>技術(shù)的突破與實踐

    ez-usb3.0如何更改slfifosync中的數(shù)據(jù),可以生成8bit數(shù)據(jù)位的usb固件?

    到usb后無法正常進(jìn)行數(shù)據(jù)傳輸。求教如何更改slfifosync中的數(shù)據(jù),可以生成8bit數(shù)據(jù)位的usb固件。謝謝!
    發(fā)表于 05-14 07:53

    PanDao:實際約束條件下成像系統(tǒng)的初始結(jié)構(gòu)的生成

    的平均RMS光斑尺寸約為55 μm,色差校正效果中等?;谕纫?guī)格與約束,我們采用自主研發(fā)的FTR初始透鏡生成器,在數(shù)分鐘內(nèi)即創(chuàng)建出多個更加優(yōu)質(zhì)的設(shè)計方案。圖1展示了由FTR程序生成的五類不同透鏡系統(tǒng)
    發(fā)表于 05-07 08:57

    使用s32ds軟件時,無法生成是怎么回事?

    使用s32ds軟件時,無法生成,并顯示以下錯誤消息。 請幫忙。 生成器:錯誤:錯誤:LinStackCfg.npf 行:5 “bus_clock” - 語法錯誤
    發(fā)表于 04-04 08:04

    “Quantum Origin”成首個獲NIST驗證的軟件量子隨機數(shù)生成器

    -Quantinuum的“Quantum Origin”成為首個通過NIST驗證的軟件量子隨機數(shù)生成器 Quantum Origin獲得NIST SP 800-90B對其驗證熵源的批準(zhǔn) 增強了聯(lián)邦
    的頭像 發(fā)表于 04-03 15:22 ?887次閱讀

    EB Tresos狀態(tài)顯示無法運行生成器是什么原因?qū)е碌模?/a>

    我正在嘗試集成 MCAL 包,但在生成過程中收到如下驗證錯誤:“無法為模塊”Dio_TS_T40D2M20I0R0“運行生成器
    發(fā)表于 04-02 08:06

    如何將Keyring用于CAAM分區(qū)加密的密鑰?

    我正在按照此方法加密我的 emmc 分區(qū) - 1. 生成密鑰: keyname=dm_trust KEY=“$(keyctl add trusted $KEYNAME \'new 32\' @s
    發(fā)表于 03-20 06:40

    ?Diffusion生成式動作引擎技術(shù)解析

    Diffusion生成式動作引擎 Diffusion生成式動作引擎是一種基于擴散模型(Diffusion Models)的生成式人工智能技術(shù),專注于生成連續(xù)、逼真的人類動作或動畫序列。
    的頭像 發(fā)表于 03-17 15:14 ?3046次閱讀

    為什么MotorControl Workbench無法生成代碼?

    我使用MotorControl Workbench5.4.4生成單電機驅(qū)動代碼,使用正交編碼器精度1024,檢查引腳沒問題后,進(jìn)入生成頁面,識別到STM32CubeMX版本為6.12.1,選擇編譯器為Keil5,Pack包選項選
    發(fā)表于 03-14 06:28

    STM32CubeIDE為什么無法生成工程和代碼?

    各位大佬好,我是一名新手小白,當(dāng)我在使用STM32CubeIDE時,出現(xiàn)了1圖彈窗,顯示我缺少必要固件包,而導(dǎo)致我無法生成工程和代碼,但我已經(jīng)正常登錄,且在創(chuàng)建工程時STM32Cube
    發(fā)表于 03-12 06:00

    用TouchGFX生成的工程,再使用STM32CubeMX生成MDK工程,下載時報錯是怎么回事?

    我在用TouchGFX生成的工程,再使用STM32CubeMX生成MDK工程,編譯后沒有出錯,再是在下載時報錯: 如果不加載這個算法文件,那么按鍵圖標(biāo)就是亂碼。
    發(fā)表于 03-11 06:50

    STM32CubeMX生成的FreeRTOS源碼格式如何優(yōu)化?

    如圖,STM32CubeMX生成的FreeRTOS源碼格式有待優(yōu)化,空格都是以箭頭的方式呈現(xiàn),觀感很差。FreeRTOS官方下載的源碼則不存在這個問題,說明是STM32CubeMX生成
    發(fā)表于 03-10 08:04