国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

www.st.com/stm32trust

二、基礎介紹

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

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

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

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

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

三、安裝STM32Trust生成器

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

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

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

四、SFI固件生成過程

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

生成過程生產主要過程見下圖:

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

IV = nonce + Area Index

該工具將固件映像劃分為幾個加密的部分,這些部分對應于不同的內存區域。

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

這些領域分不同的類型:

F:固件區域(輸入固件中的常規段) M:模塊區域(用于SFI-SMI組合圖像生成,對應于來自SMI模塊的輸入) C:配置區域(用于選擇字節配置) P:表示“暫停”區域 R:回復區域

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

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

P和R區域與常規SFI區域:

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

當SFI圖像在生成過程中被分割時,“P”和“R”區域出現在SFI圖像布局中,如圖下圖所示:

五、SMI固件生成過程

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

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

生成過程生產主要過程見下圖:

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

?128位AES加密密鑰

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

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

在創建SMI映像文件之前,對SMI映像有效性進行PCROP檢查:

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

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

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

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

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

?SMI圖像

?Lib數據

SMI格式布局如下:

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 生成器
    +關注

    關注

    7

    文章

    322

    瀏覽量

    22707
  • SMIC
    +關注

    關注

    0

    文章

    21

    瀏覽量

    21354
  • STM32Trust
    +關注

    關注

    0

    文章

    6

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何在LTspice仿真中實現偽隨機數和真隨機數的生成

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

    如何通過地址生成器實現神經網絡特征圖的padding?

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

    非對稱密鑰生成和轉換規格詳解

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

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

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

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

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

    PanDao:實際約束條件下成像系統的初始結構的生成

    的平均RMS光斑尺寸約為55 μm,色差校正效果中等。基于同等規格與約束,我們采用自主研發的FTR初始透鏡生成器,在數分鐘內即創建出多個更加優質的設計方案。圖1展示了由FTR程序生成的五類不同透鏡系統
    發表于 05-07 08:57

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

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

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

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

    EB Tresos狀態顯示無法運行生成器是什么原因導致的?

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

    如何將Keyring用于CAAM分區加密的密鑰?

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

    ?Diffusion生成式動作引擎技術解析

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

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

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

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

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

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

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

    STM32CubeMX生成的FreeRTOS源碼格式如何優化?

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