久久精品99久久_亚洲一区二区综合_狠狠色伊人亚洲综合成人_亚洲综合爱爱久久网

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> Nuvoton/新唐 >> MCU安全起動 (Secure Boot) 的軟硬件整合作法 – 以NuMicro M2351系列為例

MCU安全起動 (Secure Boot) 的軟硬件整合作法 – 以NuMicro M2351系列為例

關鍵字:MCU安全起動 軟硬件整合作法 M2351 新唐芯片 新唐代理 作者: 來源: 發布時間:2022-05-18  瀏覽:166
微控制器安全起動 (Secure Boot)的軟硬件整合作法

以 NuMicro M2351 系列為例

Secure Bootloader 是一段被寫在 Mask ROM 內無法被存取和更改的可開機程序代碼。系統經由配置區設定為從 Secure Bootloader 啟動后,便會啟動 Secure Boot 驗證機制,對存放在Flash Memory安全區域內的程序代碼做開發者身分認證和代碼完整性的驗證。當 Secure 區域代碼通過 Secure Boot 驗證后,系統才會跳至 Secure 區域內執行被驗證過的受保護代碼,例如下圖所示。

Secure 區域內的保護代碼

如果下一階段的啟動代碼沒通過 Secure Boot 驗證的檢測,此時 Secure Bootloader 會執行USB/UART1 command 模式,等待接收并處理從 Secure ISPTool USB/UART1 接口送進來的 command。
另外在 Secure Bootloader 內有開放部分的 API,讓程序開發人員可以直接使用這些已經在Secure Bootloader 代碼內有提供的功能。
Secure Bootloader代碼內提供的功能
本文將以M2351為范例介紹Secure Bootloader 和整個 M2351 內存之間的關系開始,之后會說明如何配置啟動 Secure Bootloader、Secure Bootloader 工作頻率、如何啟動 Secure Boot 驗證以及Secure Boot 驗證時必要的配置和驗證流程。最后會介紹 USB/UART1 command 模式的功能和特性。

位置和屬性

Secure Bootloader 代碼被預寫在 32KB Mask ROM 內,位置落在 0x0080_0000 ~ 0x0080_7FFF 間的 Secure 區域內,并被配置為 Execute-only memory (XOM) 屬性,因此這段代碼是無法被更改以及存取的。另外在 Secure Bootloader 運行過程中,會需要用到位于 0x2000_C000 至 0x2000_FFFF 共 16KB 的 Secure 內存。

Secure 內存


起始開機區選擇

M2351 User Configuration Block 是可以配置和系統啟動選項相關的配置區塊。在芯片上電后,CPU 執行任何代碼之前,可以預先執行照配置區內所設定的動作。

因此透過更改配置區內 CBS (CONFIG0[7]) 和 MBS (CONFIG0[5]) 的設定,便可決定 M2351 在上電后的起始開機區域為何。

如要規劃從 Secure Bootloader 啟動開機,則只需將 MBS 配置為 0 后再做系統重置即可。否則系統起始開機區會由 CBS 的設定值來決定從 APROM 或 LDROM 啟動。
起始開機區選擇


Bootloader 工作頻率

當起始開機區運行在 Secure Bootloader 時,系統的工作頻率會切換為 48MHz。

如為有支持 USB 功能的芯片型號時,Secure Bootloader 啟動后會先檢測外部 HXT-12MHz 頻率誤差是否有小于 6% 后,再決定系統工作頻率的時鐘源。如外部 HXT-12MHz 頻率誤差小于 6%,則優先以此 HXT-12MHz 來產生 PLL-48MHz 的時鐘源,并將此 PLL-48MHz 當作系統工作頻率和 USB 裝置的工作時鐘源。

如果芯片沒有支持 USB 功能,或是外部 HXT-12MHz 頻率誤差過大,則會轉換成以內部 HIRC-12MHz 當作 PLL-48MHz 的時鐘源,來當作是系統工作頻率或是 USB 裝置的工作時鐘源。

啟動 Secure Boot 驗證

系統從 Secure Bootloader 啟動后,可以開啟 Secure Boot 驗證的機制。這目的主要是驗證下一階段要被執行的 Secure 代碼是否有通過代碼開發者身分認證和代碼完整性的驗證。如果要啟動 Secure Boot 驗證,除了設定從 Secure Bootloader 開機外,還需透過設置 Secure Region Lock 或者是 All Region Lock 來對系統的 Secure 區域做保護。

在 Secure 區域沒有受到保護的情況下,Secure Bootloader 啟動后是不會執行 Secure Boot 驗證機制的。此時系統將會跳到 Secure Bootloader 內的 USB/UART1 command 模式,等待接收并處理 USB/UART1 command,而不會跳到其他區域內的代碼作執行。

當啟動 Secure Boot 驗證下一階段要被執行的 Secure 區域代碼無誤后,Secure Bootloader 將會參照配置區內 CBS (CONFIG0[7]) 的設定值來決定 CPU重啟之后是要執行 Secure APROM 或是 Secure LDROM 內的代碼。

如果 Secure Boot 驗證過程中有錯誤產生,則系統也一樣會跳到 Secure Bootloader內 的USB/UART1 command模式,等待接收并處理 USB/UART1 command。


下面表格為 MBS、SCRLOCK、ARLOCK、CBS 和系統起始開機區的關系表:
關系表


Secure Boot 配置說明

前面章節大致說明了如何將系統配置從 M2351 Secure Bootloader 啟動,并開啟 Secure Boot驗證的功能。

下面的子章節將說明執行 Secure Boot 驗證時的必要配置。

SBK – Secure Boot Key

Secure Boot Key (SBK) 是一把對被 Secure Boot 驗證的 Secure 區域代碼 SHA-256 Hash 值做加密的 AES 加密安全密鑰。

SBK安全密鑰有效長度為 256-bits,只能被寫入一次,無法被讀出

如要更新此SBK安全密鑰,只能做全芯片擦除后再做更新的操作

一定要有配置過SBK,后續的Secure Boot驗證流程才可能會成功

IB – Information Block

Information Block (IB) 為一塊被寫在 Secure APROM 后面的數據區塊。

區塊內容記錄著被 Secure Boot 驗證的受保護代碼存放位置,以及一組 256-bits 的數字檢查碼。此 256-bits 數字檢查碼為受保護代碼的 SHA-256 Hash 值再使用 Secure Boot Key (SBK) 做 AES-256 加密后的結果。

IB被記錄在 Secure APROM 最后的 144 bytes

最多可配置 6 組受Secure Boot驗證的代碼區域,

IB內容內有一組checksum數據,可讓Secure Bootloaer判斷這組IB數據的正確性

如果沒有正確的IB數據區塊,Secure Bootloader將不會執行 Secure Boot驗證流程

Secure Region Lock

當系統安全屬性有被配置為開啟 Secure 區域保護時,Secure Bootloader 才會執行Secure Boot 驗證。此時系統內的 Secure 區域代碼將不能經由 ICE 界面被存取。

將SCRLOCK[7:0] 或是 ARLOCK[7:0] 任一組配置區改為非 0x5A后,Secure 區域代碼將無法被 ICE 界面存取

只能做全芯片擦除后才可以解除Secure區域的保護

在沒有開啟Secure區域保護的系統里, Secure Bootloader將不會執行 Secure Boot驗證流程


Secure Boot 驗證流程


下列步驟會說明 Secure Bootloader 執行 Secure Boot 驗證的流程。

判斷是否有開啟 Secure 區域保護功能

判斷是否有正確的IB 區塊

依據 IB區塊內的資料,判斷要被保護代碼的SHA-256 Hash值是否正確

如果代碼的SHA-256 Hash值比對正確,CPU將會跳去執行這段代碼。如果Hash值比對錯誤,則Secure Bootloader會進入USB/UART1 command模式,等待接收并處理 USB/UART1 command。

下列流程圖將說明 Secure Bootloader啟動后執行 Secure Boot 驗證到最終執行 Trusted Boot Code 的過程,以及在 Secure Boot 驗證過程中出現錯誤時的處理方式。
Secure Boot 驗證流程

USB/UART1 Command 模式說明

M2351 Secure Bootloader 除了可執行 Secure Boot 驗證外,另一個功能為進入 USB/UART1 command 模式做代碼的更新和配置區的設定。

透過 PC 端的 Nuvoton NuMicro® Secure ISPTool 即可和 Secure Bootloader 內的 USB/UART1 command 模式做傳輸。

本章節將會對 USB/UART1 command 模式做基本的介紹。

USB 界面

在 M2351 Secure Bootloader 提供的 USB command 模式內,用戶無需做任何事先的配置,只要透過 USB 線和 PC 端的 Secure ISPTool 做連接后即可正常工作。

UART1 界面

在使用 M2351 Secure Bootloader 提供的 UART1 command 模式前,則需將目前芯片 UART1 的腳位和 PC 串口做連接,之后便可和 Secure ISPTool 做正常聯機。


可透過更改配置區CONFIG3[2:0] 來決定 UART1  command模式的腳位:

000:UART1_TXD (PB.7),UART1_RXD (PB.6)

001:UART1_TXD (PA.9),UART1_RXD (PA.8)

010:UART1_TXD (PF.0), UART1_RXD (PF.1)

011:UART1_TXD (PB.3),UART1_RXD (PB.2)

Others:UART1_TXD (PA.3),UART1_RXD (PA.2)

UART1/USB Command 流程

下列流程圖說明在 Secure Bootloader 程序內的 UART1/USB Command 模式和 PC 端的 Secure ISPTool 聯機后的主要處理流程。
UART1/USB Command 流程


以上透過 M2351 Secure Boot 驗證的程序為例,詳細解釋系統開發商如何確保必須要受到保護的開機代碼沒有被更改,意即可以確認系統啟動后的行為都在程序開發者的規劃內,進而可以達到數據不被竊取的目的。另由于M2351系列為帶TrustZone功能,對Non-secure 程序開發者而言,另可以使用 Secure Bootloader 提供的 Non-secure callable API 來實現對 Non-secure 內存的讀寫和其他配置區的設定。不需要 Secure 程序開發者額外提供這些應用的 API 給 Non-secure 程序開發者使用。

而終端產品的應用可能是沒有預留 ICE 腳位的。此時如果有需要做代碼的更新,即可以執行 Secure Bootloader Non-secure callable API 所提供的 USB/UART1 command模式和 PC 端的Nuvoton NuMicro® Secure ISPTool 來實現代碼的更新。

如需要了解更多新唐MCU產品,請聯系新唐核心代理商,穎特新科技,或者掃碼聯系我們!

新唐代理

在之前的介紹中,我們也為大家介紹了《基于航順HK32F030K6T6掃地機器人解決方案》,也是目前我們主推的非常成熟的解決方案!



編輯:zzy  最后修改時間:2022-05-18

聯系方式

0755-82591179

郵箱:ivy@yingtexin.net

地址:深圳市南山區桃源街道平山社區平山一路2號南山云谷創業園二期11棟410-411

Copyright © 2014-2026 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

久久精品99久久_亚洲一区二区综合_狠狠色伊人亚洲综合成人_亚洲综合爱爱久久网
wwwwwxxxx日本| 永久av免费在线观看| 精品少妇在线视频| av片中文字幕| 福利网在线观看| 免费国产a级片| 五月婷婷狠狠操| 青青草综合在线| 国产一区视频免费观看| 99热都是精品| 9191国产视频| av网站大全免费| 九九精品久久久| 亚洲一区二区中文字幕在线观看| 欧美性猛交xxxx乱大交91| 少妇人妻大乳在线视频| 毛片在线播放视频| 激情图片qvod| 亚洲视频一二三四| 老司机午夜网站| 国产l精品国产亚洲区久久| 成人在线免费观看网址| 国产精品一线二线三线| 欧美极品欧美精品欧美图片| 亚洲成人福利在线观看| 中文字幕av久久| 任你操这里只有精品| 日韩欧美中文视频| 日本在线观看a| 伊人五月天婷婷| 天天夜碰日日摸日日澡性色av| 人妻有码中文字幕| 男同互操gay射视频在线看| 欧美性久久久久| 国产一区二区三区播放| 国产免费视频传媒| 国产xxxx振车| 一级黄色在线播放| 任你操这里只有精品| 黄网站色视频免费观看| 91精品国产吴梦梦| 五月婷婷六月合| 国产成人美女视频| 亚洲天堂网站在线| 久久久精品麻豆| 亚洲免费黄色录像| 国产99久久九九精品无码| 欧美国产亚洲一区| 国产在线观看欧美| 亚洲高清视频免费| 欧美 国产 小说 另类| 男人添女人下部高潮视频在观看| 天天久久综合网| 亚洲无吗一区二区三区| 成年人视频在线免费| 日韩精品在线中文字幕| 91国在线高清视频| 路边理发店露脸熟妇泻火| 日韩不卡的av| 日本一本在线视频| youjizz.com亚洲| 欧美日韩福利在线| 亚洲一区二区三区av无码| 国产欧美123| 青青在线免费观看| 天堂…中文在线最新版在线| 男人添女人荫蒂免费视频| 和岳每晚弄的高潮嗷嗷叫视频| 国产精品无码乱伦| 男女啪啪免费观看| 精品无码一区二区三区爱欲| 国产va亚洲va在线va| 国产视频九色蝌蚪| 久久久精品三级| 日韩va在线观看| 在线观看污视频| 国产综合av在线| 国产一级不卡毛片| 久久av秘一区二区三区| 激情五月六月婷婷| 国产精品丝袜久久久久久消防器材| 欧美色图另类小说| 污网站免费在线| 无码人妻精品一区二区蜜桃百度| 男人添女人荫蒂免费视频| 国产麻花豆剧传媒精品mv在线| 成人黄色一区二区| 久久久久久久久网| 精品视频无码一区二区三区| 污视频网址在线观看| av在线免费观看国产| 精品少妇无遮挡毛片| 伊人国产精品视频| 国产九九九九九| 加勒比av中文字幕| 国产中文字幕视频在线观看| 午夜激情av在线| 日本手机在线视频| 一级黄色在线播放| 少妇高清精品毛片在线视频| 熟妇熟女乱妇乱女网站| 国产美女无遮挡网站| 欧美性受黑人性爽| 国产免费视频传媒| 国产白丝袜美女久久久久| 久久久久久久久久久久久久久国产 | 四虎免费在线观看视频| 亚洲自偷自拍熟女另类| 日本不卡一区二区三区四区| 国产女女做受ⅹxx高潮| 国产日韩欧美大片| 国产高清999| 亚洲欧美激情网| 国产xxxxx在线观看| 男人草女人视频| 黄色三级视频在线播放| 欧美婷婷精品激情| 免费日韩中文字幕| 久久久久久久激情| 成人在线播放网址| 屁屁影院ccyy国产第一页| 国内自拍第二页| 亚洲色图偷拍视频| 午夜大片在线观看| 精品国产乱码久久久久久1区二区| 日韩手机在线观看视频| 国产av天堂无码一区二区三区| 国产免费色视频| 免费成人进口网站| 欧美日韩中文字幕在线播放| 欧美精品一区二区性色a+v| 性欧美18一19内谢| 国产成人生活片| 日韩成人午夜影院| 国产 欧美 日本| 国产免费观看高清视频| 各处沟厕大尺度偷拍女厕嘘嘘| 国产精品12345| 日韩在线第三页| 天天影视综合色| 99视频在线免费| 日本一二三区在线| 日本国产中文字幕| 国产日产欧美视频| 国产高清视频网站| 91日韩精品视频| 黄色成人在线免费观看| 人妻熟妇乱又伦精品视频| 国产精品wwwww| 久久人人爽人人片| 日韩精品视频在线观看视频| 少妇高潮毛片色欲ava片| 日本久久精品一区二区| 一区二区三区国产好的精华液| 日韩视频一二三| 日韩免费毛片视频| 性欧美18一19内谢| 日本免费不卡一区二区| 一区二区三区视频在线观看免费| 日韩av一卡二卡三卡| 欧美精品久久久久久久久久久| av无码精品一区二区三区| 男同互操gay射视频在线看| 亚洲 自拍 另类小说综合图区| 欧美一级黄色影院| 四虎精品欧美一区二区免费| 亚洲 欧美 日韩 国产综合 在线| 国产精品视频黄色| 国产免费内射又粗又爽密桃视频| 欧美色图另类小说| 黄色片免费在线观看视频| 国产精品涩涩涩视频网站| 成人免费看片'免费看| 国产精品自在自线| 精品视频无码一区二区三区| 日本高清视频免费在线观看| 国产精品涩涩涩视频网站| 日韩极品视频在线观看| 色偷偷中文字幕| 91香蕉视频导航| 欧美黑人经典片免费观看| 三级黄色片播放| 天天干天天操天天玩| 国产成人久久777777| 亚洲国产精品无码av| 日韩精品福利片午夜免费观看| 少妇网站在线观看| 黄色片在线免费| 狠狠热免费视频| 成人精品视频一区二区| 各处沟厕大尺度偷拍女厕嘘嘘| 日韩免费在线观看av| 美国av在线播放| 在线观看成人免费| 国产性生活一级片| av中文字幕网址| www.欧美激情.com| 性欧美18一19内谢| 三年中文高清在线观看第6集| 中日韩av在线播放|