日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

armv8-M(cortex-m) Trustzone总结和介绍

發(fā)布時間:2025/3/21 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 armv8-M(cortex-m) Trustzone总结和介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、簡介

先看一張軟件架構圖:

1.1、ARMV8-M Trustzone簡介

TrustZone 技術的概念并不新鮮。該技術已在 Arm Cortex-A 系列處理器上使用多年,并且現(xiàn)在已擴展到涵蓋 Armv8-M 處理器。

在較高層次上,Armv8-M 的 TrustZone 技術的概念類似于 Arm Cortex-A 處理器中的 TrustZone 技術。處理器具有安全和非安全狀態(tài),非安全軟件只能訪問非安全存儲器。Armv8-M 的技術在設計時考慮了小型節(jié)能系統(tǒng)。與 Cortex-A 處理器中的 TrustZone 技術不同, Armv8-M 的Secure 和 Normal 世界是基于內存映射的,轉換在異常處理代碼中自動發(fā)生

Armv8-M 和 Armv8-A所支持的Trustzone技術有以下方面的不同:

  • Armv8-M 的 TrustZone 技術支持 多個安全entry points,而在 Cortex-A 處理器的 TrustZone 技術中,Secure Monitor 處理程序是唯一的entry points。
  • 執(zhí)行在安全狀態(tài)時仍可處理非安全中斷
    在許多具有實時處理功能的微控制器應用中,確定性行為和低中斷延遲是重要的要求。在運行安全代碼時處理中斷請求的能力至關重要
  • 通過允許在安全和非安全狀態(tài)之間共享寄存器組,Armv8-M 實現(xiàn)的功耗可以類似于 Armv6-M 或 Armv7-M
  • 狀態(tài)切換的低開銷允許安全和非安全軟件頻繁交互,這在以下情況下很常見。 安全固件包含軟件庫,例如 GUI 固件或通信協(xié)議棧

在具有 Armv8-M 架構安全擴展的設計中,對系統(tǒng)安全至關重要的組件可以放置在安全的世界。這些關鍵組件包括:

  • 安全引導加載程序。
  • 秘鑰。
  • 閃存編程支持。
  • High value assets(高價值資產)。

    安全(Trusted)和非安全(Non-trusted)軟件可以一起工作,但非安全應用程序不能直接訪問安全資源。相反,任何對 Secure 資源的訪問都可以通過 Secure 軟件提供的 API,這些 API 可以實現(xiàn)身份驗證來決定如果允許訪問安全服務。通過這種安排,即使非安全應用程序中存在漏洞,黑客
    不能攻擊掉整個芯片。

1.2、Armv8-M Trustzone背景下的安全需求

安全這個詞在嵌入式系統(tǒng)設計中可以有很多不同的含義。在大多數(shù)嵌入式系統(tǒng)中,安全性可以包括但不限于到:

  • 通訊保護
    這種保護可以防止數(shù)據(jù)傳輸被未授權方看到或攔截,并且可能包括其他技術,例如密碼學。
  • 數(shù)據(jù)保護
    這種保護可防止未經(jīng)授權的各方訪問存儲在設備內的秘密數(shù)據(jù)。
  • 固件保護
    這種保護可防止片上固件被逆向工程。
  • 運行保護
    此保護可防止關鍵操作出現(xiàn)惡意故意故障。
  • 篡改保護
    在許多安全敏感產品中,需要防篡改功能來防止設備的操作或保護機制受到影響。被覆蓋。
    TrustZone 技術可以直接解決嵌入式系統(tǒng)的以下一些安全要求:
  • 數(shù)據(jù)保護
    敏感數(shù)據(jù)可以存儲在安全內存空間中,并且只能由安全軟件訪問。非安全軟件只能訪問安全 API 向非安全域提供服務,并且僅在安全檢查或身份驗證之后。
  • 固件保護
    預加載的固件可以存儲在安全存儲器中,以防止其被逆向工程和受到惡意攻擊。Armv8-M 的 TrustZone 技術也可以與額外的保護技術一起使用。例如,設備級讀出保護,一種技術當今業(yè)界常用,可配合Armv8-M的TrustZone技術,保護最終完成的固件產品。
  • 安全啟動
    安全啟動機制使您對平臺充滿信心,因為它始終從安全內存啟動。

TrustZone 技術還可與面向下一代的高級微控制器中使用的附加保護功能一起使用物聯(lián)網(wǎng) (IoT) 產品。例如,為物聯(lián)網(wǎng)應用開發(fā)的微控制器可以包含一系列安全功能。
TrustZone 技術的使用有助于確保所有這些功能只能使用具有有效entry point的 API 來訪問,如下所示圖顯示:

通過使用 TrustZone 技術來保護這些安全功能,設計人員可以:

  • 防止不受信任的應用程序直接訪問安全關鍵資源。
  • 確保僅在驗證和檢查后才重新編程 Flash 映像。
  • 防止固件被逆向工程。
  • 以軟件級別的保護存儲機密信息

無線通信接口的安全性
在其他一些應用場景中,例如帶有經(jīng)過認證的內置無線電堆棧的無線 SoC,TrustZone 技術可以保護標準化操作,例如無線通信行為。
TrustZone 技術可以確保客戶定義的應用程序不會使認證失效,如下圖所示。

2、Trustzone擴展的兩種安全狀態(tài)

Trustzone技術下的兩個安全狀態(tài)(Security State): Non-Secure State 和 Secure State.
在TF-M中也稱之為: NSPE(NON-Secure Processing Environment)和SPE(Secure Processing Environment)

關于reset

  • 如果實施了安全擴展,則標記為安全的內存區(qū)域和其他關鍵資源只有在 PE 以安全狀態(tài)執(zhí)行時才能訪問
  • 如果實施了安全擴展, 則在 Cold reset 和 Warm reset時,PE將進入Secure狀態(tài)
  • 如果實施了安全擴展, 則在 Cold reset 和 Warm reset時,PE將進入NON-Secure狀態(tài)

關于banked
實施了安全擴展后,下列寄存器都是banked by security:

  • 通用寄存器中的R13(SP)
  • 特殊寄存器中的 : MASK寄存器(PRIMASK, BASEPRI, FAULTMASK)、CONTROL 寄存器、棧指針限制寄存器(MSPLIM ,PSPLIM)
  • System Control Space (SCS)

msr/mrs指令編碼

MRS 和MSR指令編碼中的bit[7]表示操作的是哪組寄存器(Secure or NON-Secure)

補充術語
RAZ:Read-As-Zero 讀到的總是0
WI :Writes Ignoredx 寫無效
RAO:Read-As-Oned讀到的總是1
SBZP:Should-Be-Zero-or-Preserved on writes 寫總是0
SBOP : Should-Be-One-or-Preserved on writes. 寫總是1
UNK:unknown 讀寫時返回值未知
詳見:ARM Glossary

cortex-A Trustzone 和 cortex-M Trustzone的對比:

在cortex-M上,雙系統(tǒng)的切換,使用的是 Secure Gateway (SG) 指令,但只允許在特殊的memory上調用SG,即使 NSC(non-secure callable)

安全狀態(tài)的切換

切換安全狀態(tài)的方式有以下兩種:

  • 直接函數(shù)調用和返回(non-secure callable)
  • 異常/中斷的進入和退出

3、 內存的劃分

如果實施了安全擴展,則 4GB 內存空間將劃分為安全非安全內存區(qū)域。
安全內存空間進一步分為兩種類型:安全(S)和非安全可調用(NSC : Non-secure Callable)

NSC 是一種特殊類型的安全內存。這種類型的內存是 Armv8-M 處理器允許保存 SG 指令的一種內存,使軟件能夠從非安全狀態(tài)轉換為安全狀態(tài)。

通過將 SG 指令的功能限制在 NSC 內存中,安全軟件創(chuàng)建者無需在正常安全內存中意外包含 SG 指令或數(shù)據(jù)共享編碼值,包含 NSC 內存位置。

通常 NSC 內存區(qū)域包含小型分支跳轉(entry points)的表。 為了防止非安全應用程序分支到無效入口點,這里有Secure Gateway (SG) 指令。

當非安全程序調用安全端的函數(shù)時:

  • API 中的第一條指令必須是 SG 指令。
  • SG 指令必須位于由 安全屬性單元 (SAU :Security Attribution Unit) 或實施定義的屬性單元 ( IDAU : Implementation Defined Attribution Unit) 定義的 NSC 區(qū)域中。

引入NSC內存的原因是為了防止其他二進制數(shù)據(jù),例如查找表,其值與SG指令的操作碼相同,作為進入安全狀態(tài)的入口函數(shù)。 通過分離 NSC 和 Secure 內存類型,包含二進制數(shù)據(jù)的 Secure 程序代碼可以安全地放置在 Secure 區(qū)域中,而無需直接暴露于 Normal 世界,并且只能使用 NSC 內存中的有效入口點進行訪問。

4、Attribution units (SAU and IDAU)

  • SAU :Security Attribution Unit
  • IDAU : Implementation Defined Attribution Unit

復位的時候SAU是disabled的
如果SAU是disabled的,且系統(tǒng)中也沒有包含IDAU,又由于reset時默認的狀態(tài)是Secure Security State,那么系統(tǒng)將無法切換到Non-secure狀態(tài),所有切換non-secure Security狀態(tài)的操作都會產生Fault錯誤

SAU寄存器的總結

SAU開啟之后:

  • 沒有在 SAU region 范圍內的,都視為安全內存
  • SAU_RLAR.NSC=0 表示非安全內存
  • SAU_RLAR.NSC=1 表示NSC內存

5、Secure和Non-secure的狀態(tài)切換


總結

以上是生活随笔為你收集整理的armv8-M(cortex-m) Trustzone总结和介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩和的一区二区 | 精品国产视频一区二区三区 | 色在线网站 | 黄片毛片在线看 | 国产模特av私拍大尺度 | 黄页在线播放 | 国产高潮av | 欧美成人三级在线观看 | 成年视频在线 | 亚洲综合免费观看高清完整版在线 | 国产在线观看免费 | 一二三区中文字幕 | 欧亚一区二区三区 | 欧美一级视频免费观看 | 欧洲成人综合 | 高清三区 | 综合色吧 | 女女同性女同一区二区三区九色 | 亚洲色图17p| 久草国产在线观看 | 公肉吊粗大爽色翁浪妇视频 | 亚洲国产精品999 | 狠狠爱夜夜爱 | 乱子伦一区二区 | 中年夫妇啪啪高潮 | 狠狠操狠狠操狠狠操 | 欧美成人视 | www.九色 | 国产人久久人人人人爽 | 精品久久9999 | 黄色av电影网站 | 国产成人欧美 | 久久久97| 一级v片 | 一级黄色在线视频 | 久久伊人亚洲 | 天堂在线www | 亚洲精品国产av | 天天精品综合 | 国产一区二区三区久久 | 国产亚洲精品精品国产亚洲综合 | 国产女女| 黄色的一级片 | 欧美第一页草草影院 | 亚洲狼人综合 | 色播av| 亚洲色图20p | 亲嘴扒胸摸屁股激烈网站 | 免费毛毛片| 狠狠精品干练久久久无码中文字幕 | 杨贵妃颤抖双乳呻吟求欢小说 | 亚洲黄色第一页 | 三年中文在线观看中文版 | 裸体视频软件 | 人人妻人人澡人人爽欧美一区双 | 欧美性生交片4 | 国产999精品久久久久久 | 人妻熟妇又伦精品视频a | 一进一出视频 | 北条麻纪在线观看aⅴ | 丰满人妻一区二区三区四区53 | 成人免费观看网站 | 欧州一级片 | 伊人伊色| 就去色综合 | 男女曰逼视频 | 日韩精品专区 | 欧美一区二区在线视频观看 | 色婷婷六月天 | 中文字幕+乱码+中文乱码www | 亚洲av无码一区二区三区在线播放 | 本庄优花番号 | 五月天丁香久久 | 四虎影院在线免费播放 | 18视频网站在线观看 | 久久思| 中文字幕亚洲一区二区三区五十路 | 中文字幕1页 | 人民的名义第二部 | 成人区人妻精品一熟女 | 成年黄色网 | 在线看你懂得 | 久久中文字幕av | 国产精品一二 | 在线观看免费国产 | wwyoujizzcom | 免费在线色视频 | 亚洲AV无码国产精品午夜字幕 | 天天色影 | 爱吃波客今天最新视频 | av视屏| 曰本女人与公拘交酡 | 亚洲精品乱码久久 | 男男gay羞辱feet贱奴vk | 色噜噜狠狠成人中文 | 中国女人真人一级毛片 | 午夜欧美在线 | 性感美女被爆操 | 免费毛片视频网站 |