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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

昨天文章《最近STM32CubeMX、IDE、Programmer都更新了些什么內(nèi)容》講述了ST最近在這些工具上的動(dòng)作。 今天講述的內(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ù)合作伙伴的軟件(軟件模塊和庫(kù))。

三、安裝STM32Trust生成器

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

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

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

四、SFI固件生成過(guò)程

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

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

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

IV = nonce + Area Index

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

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

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

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

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

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

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

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

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

五、SMI固件生成過(guò)程

SMI同樣是一種加密固件,只是這里面加密的是針對(duì)模塊和庫(kù)。

SMI加密過(guò)程和SFI有點(diǎn)類似,如下圖:

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

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

?128位AES加密密鑰

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

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

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

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

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

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

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

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

?SMI圖像

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

SMI格式布局如下:

聲明:本文內(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)注

    7

    文章

    322

    瀏覽量

    22702
  • SMIC
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    21352
  • STM32Trust
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

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

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

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

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

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

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

    使用s32ds軟件時(shí),無(wú)法生成是怎么回事?

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

    “Quantum Origin”成首個(gè)獲NIST驗(yàn)證的軟件量子隨機(jī)數(shù)生成器

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

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

    我正在嘗試集成 MCAL 包,但在生成過(guò)程中收到如下驗(yàn)證錯(cuò)誤:“無(wú)法為模塊”Dio_TS_T40D2M20I0R0“運(yùn)行生成器
    發(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生成式動(dòng)作引擎技術(shù)解析

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

    為什么MotorControl Workbench無(wú)法生成代碼?

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

    STM32CubeIDE為什么無(wú)法生成工程和代碼?

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

    用TouchGFX生成的工程,再使用STM32CubeMX生成MDK工程,下載時(shí)報(bào)錯(cuò)是怎么回事?

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

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

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