小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

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

 西北望msm66g9f 2019-12-10


昨天文章《最近STM32CubeMX、IDE、Programmer都更新了些什么內容》講述了ST最近在這些工具上的動作。

今天講述的內容是STM32生態(tài)中,STM32Trust下面的一部分內容。
(本文參考應用筆記文檔:AN5054)

一、回顧STM32Trust
什么是STM32Trust?

STM32Trust是一套STM32解決方案,提供完整的代碼保護和執(zhí)行保護工具套件,如下圖:


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

STM32Trust官方網址:

www.st.com/stm32trust


二、基礎介紹

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

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

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

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

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

三、安裝STM32Trust生成器

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

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

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

四、SFI固件生成過程

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

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

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

IV = nonce + Area Index

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

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

這些領域分不同的類型:

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

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

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

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

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


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


五、SMI固件生成過程

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

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

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

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

·128位AES加密密鑰

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

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

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

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

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

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

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


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

·SMI圖像

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

SMI格式布如下:


六、總結

現(xiàn)在眾多處理器廠家都在推出“安全級別”芯片,其中,軟件加密也算一項,本文重點讓大家知道這個加密過程。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多