• 資料介紹
    • 1、引言
    • 2、按鍵點(diǎn)燈實(shí)驗(yàn)
    • 3、小結(jié)
  • 資料預(yù)覽
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

帶 TrustZone 的按鍵點(diǎn)燈工程示例

03/04 15:19
489
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

帶 TrustZone 的按鍵點(diǎn)燈工程示例

493.17 KB

1、引言

假設(shè)軟件存在漏洞,攻擊者利用軟件漏洞就有可能導(dǎo)致關(guān)鍵的信息受損。這種情況下,使用系統(tǒng)隔離,將關(guān)鍵的資源以及操作和普通的分開,普通的應(yīng)用程序無法訪問關(guān)鍵資源,從而可以有效的降低軟件漏洞帶來的風(fēng)險(xiǎn)。

TrustZone 是系統(tǒng)隔離的一種硬件手段,它將整個(gè)系統(tǒng)分為安全世界和非安全世界。安全世界可以存儲(chǔ)像密鑰、配置關(guān)鍵外設(shè)等,非安全世界運(yùn)行其余代碼。這樣,即使非安全側(cè)遭受到攻擊,由于訪問權(quán)限的限制,安全側(cè)的數(shù)據(jù)以及關(guān)鍵外設(shè)不會(huì)受到影響。

TrustZone 技術(shù),在一個(gè)芯片上,按照地址,劃分了安全世界和非安全世界。但一個(gè)地址,它的安全屬性,有三種 Secure、NSC、Non-Secure。

為什么在安全世界中,要存在一個(gè) NSC 區(qū)域呢?TZ 隔離出的兩個(gè)世界,安全世界和非安全世界。安全世界可以隨意調(diào)用非安全世界的代碼,而非安全世界調(diào)安全世界的 API 則要經(jīng)過中轉(zhuǎn)站(NSC 區(qū)域)。

2、按鍵點(diǎn)燈實(shí)驗(yàn)

接下來,我們將通過按鍵點(diǎn)燈實(shí)驗(yàn),來體會(huì)系統(tǒng)隔離的魅力所在。這也將更好的幫助去

理解系統(tǒng)的安全側(cè)和非安全側(cè)。

2.1. 使用準(zhǔn)備

硬件:

  • NUCLEO-H563ZI

軟件:

  • CubeMX 6.12.1 (或最新版本)
  • STM32Cube_FW_H5_V1.2.0 (或最新版本)
  • STM32CubeProgrammer 2.17.0 (或最新版本)
  • IAR EW for Arm 9.50.2 (或最新版本)

2.2. 實(shí)驗(yàn)思想

在實(shí)驗(yàn)中,開啟 USER_BUTTON (處于非安全側(cè))的外部中斷功能。當(dāng)用戶按下按鍵并松開手,觸發(fā)上升沿中斷。在上升沿中斷回調(diào)函數(shù)中,去翻轉(zhuǎn)小燈 LED1_GREEN(處于安全側(cè))、LED2_YELLOW(處于非安全側(cè))、LED3_RED(處于非安全側(cè))。

3、小結(jié)

通過上面演示,操作非安全側(cè)按鍵去點(diǎn)亮安全側(cè)的 LED1 和非安全側(cè)的 LED2、LED3, 來幫助大家更好的理解安全側(cè)與非安全側(cè)的資源與外設(shè)調(diào)用。

資料預(yù)覽

相關(guān)推薦