0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TrustZone是什么?TrustZone的結(jié)構(gòu)

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:李倩 ? 2018-07-12 11:24 ? 次閱讀

TrustZone是什么

基本的安全方式有加密和完整性保護(hù)等,加密通過密碼口令或是秘鑰方式,鑒權(quán)用來檢查資源是否可用,如果資源遭遇破壞則會導(dǎo)致鑒權(quán)失敗。由于存在多種攻擊方式,軟件方式包括軟件病毒、惡意軟件等,而硬件方式可以通過JTAG引腳、I/O引腳檢測、電流電壓檢測、顯微鏡查看電路等進(jìn)行攻擊,所以需要從硬件軟件層面設(shè)計有效系統(tǒng)來對抗攻擊。TrustZone是ARM為了防止設(shè)備有效資源被拷貝、破壞或篡改,防止被惡意攻擊,對資產(chǎn)包括有形和無形資產(chǎn)進(jìn)行,以防止惡意軟件、硬件監(jiān)視、硬件干預(yù)等方式破壞或獲取設(shè)備信息。Trustzone從處理器、總線、外設(shè)等系統(tǒng)層面進(jìn)行保護(hù),同時考慮減少額外的資源開銷。注意時間、開銷允許的情況下,不可能阻止所有可能的攻擊,只是在一定的時間和資源(錢)的限制內(nèi),能夠保證不會受到相應(yīng)的攻擊。

TrustZone 將軟件硬件部分分為安全世界和正常世界,正常世界器件不可訪問安全世界區(qū)域器件、存儲空間等。TrustZone可以作為實現(xiàn)TPM功能的HSM (hardware Secure module) 模塊來使用。對于外設(shè)的權(quán)限控制TrustZone通過AXI-APB橋來實現(xiàn),以此兼容外設(shè)需求。

ARMv8的特征

ARMv8中包含了trustZone功能,同時提供了SHA、AES等一些加密加速器處理(? 沒有注意到TRNG 真隨機(jī)數(shù)處理的相關(guān)模塊)。另外相對于v7,v8中還提供了64位數(shù)據(jù)的指令處理,同時增加了SIMD ( Single Instruction Multi Data) 的指令處理。所以在v8中有AArch64和AArch32的處理模式,在AArch64模式下支持128比特的SIMD,在AArch32模式下支持64比特的SIMD處理模式,同時v8有三種配置模式,A Application配置,指示虛擬地址系統(tǒng)VMSA(Virtual Memory System Architecture)及MMU,支持A64、A32、T32指令集;R Real-time配置,支持MPU,支持PMSA(Protected Memory System Architecture),支持A32和T32指令集;M 微控制配置。支持PMSA,低延時中斷處理,支持T32變種指令集。三種模式對能力和功耗做了權(quán)衡,可適應(yīng)不同的使用場景。v8 AArch64重新定義了四種等級EL0-EL3模式,其中EL0為最低模式,EL0 用戶應(yīng)用模式;EL1 系統(tǒng)相關(guān)功能特權(quán)模式;EL2 為Hypervisor 虛擬功能模式;EL3 Monitor用于切換Secure和Non-Secure兩種模式。對應(yīng)32模式增加了Hypervisor和 Monitor 兩種模式分隊對應(yīng)EL2和EL3模式,用戶模式為EL0,其他FIQ、IRQ、system等模式對應(yīng)EL1。為了實現(xiàn)Secure world和Non-Secure world的分離,增加了NS比特位的處理,例如CP15 SCR( Secure Configuration Register ) NS的配置。

TrustZone的結(jié)構(gòu)

整體結(jié)構(gòu): 兩個虛擬world使用同一個物理處理器實現(xiàn),亦即一個實體核有兩虛擬核模式,非安全核只能訪問非可信系統(tǒng)資源,而安全核可以訪問所有資源。兩種模式不可共存,時分復(fù)用,通過Monitor mode(軟件實現(xiàn)兩種模式的信息切換)切換。進(jìn)入monitor通過軟件指令Secure Monitor Call (SMC) instructio或硬件機(jī)制( FRQ、FIQ、external Data Abort and Prefetch Abort ) 。

軟件調(diào)度實現(xiàn)

在實現(xiàn)兩個不同安全模式切換時,采用Monitor進(jìn)行兩個世界的上下文切換,而對于兩個模式的配合可以使用多種不同的方式。安全世界可以擁有自己的操作系統(tǒng),獨立于非安全世界;同樣安全功能也可以作為正常模式調(diào)用的子模式,或是采用兩種極端模式的折中方式。

安全啟動與可信鏈

常見到secure boot、trusted boot、meased boot等,方式有些類似,都是采用簽名加密等方式來保證啟動及軟件的完整和安全性,當(dāng)然處理方式細(xì)節(jié)及概念細(xì)節(jié)上也存在些許差別,例如關(guān)于安全啟動和可信引導(dǎo) secure boot、trusted boot,前者保證boot程序正確,后者引導(dǎo)的程序未被修改,采用數(shù)字簽名技術(shù)。可信根 ( 需要NVRAM或OTP One-Time-Progrm方式存儲 ) 需要從硬件初始化開始保證每個模塊代碼的載入都是可靠可信的,可信鏈即表達(dá)了按照鏈?zhǔn)椒绞奖WC每個步驟都是可靠的。

TrustZone典型啟動過程

硬件安全的一些理解

通過頻率、電源供電等檢測、電路、時鐘、時序、端口等硬件方式可以得到硬件的具體執(zhí)行內(nèi)容,例如正常乘法和加法消耗時間可能就不相同。為了避免這些硬件攻擊方式,硬件可以在物理特性上保證消除不同處理的特征差異,如統(tǒng)一執(zhí)行周期,加入指令噪聲,插入特殊或空指令等;而防止ROM / FLASH等內(nèi)容被讀出進(jìn)行反匯編,則可以采用加密接口的ROM、FLASH等;防止總線數(shù)據(jù)被讀取,可以進(jìn)行極性反轉(zhuǎn)等操作;同樣檢測數(shù)據(jù)是否被修改,可以進(jìn)行奇偶校驗等處理。當(dāng)然這些處理將帶來更多的資源,更多的功耗,所以需要必要的進(jìn)行權(quán)衡取舍,簡化無效處理。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 加速器
    +關(guān)注

    關(guān)注

    2

    文章

    790

    瀏覽量

    37675
  • trustzone
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    12519
  • ARMv8
    +關(guān)注

    關(guān)注

    1

    文章

    35

    瀏覽量

    14133

原文標(biāo)題:TrustZone、ARMv8及硬件安全處理的一些基礎(chǔ)知識理解

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    embOS如何支持Arm TrustZone

    通過ARMv8-M架構(gòu)支持的TrustZone技術(shù),可以將關(guān)鍵安全固件和私有程序(如安全引導(dǎo)、固件更新和密鑰)與其余應(yīng)用程序隔離,極大降低被攻擊的可能性,增加嵌入式系統(tǒng)安全。SEGGER的embOS目前已支持ARMv8-M TrustZone,這使得embOS成為高效、安
    發(fā)表于 09-22 12:16 ?403次閱讀
    embOS如何支持Arm <b class='flag-5'>TrustZone</b>

    TrustZone結(jié)構(gòu)化消息是什么?

    大家好,我已閱讀任何與TrustZone相關(guān)的內(nèi)容,但我無法弄清楚這兩個世界是如何相互溝通的。我所能找到的只是TrustZone API規(guī)范中的內(nèi)容:客戶端和服務(wù)可以通過兩種機(jī)制進(jìn)行通信:結(jié)構(gòu)
    發(fā)表于 03-20 08:58

    介紹Cortex-A和Cortex-M的TrustZone之間的差異

    相信關(guān)注安全和嵌入式的開發(fā)者對TrustZone都不陌生,最近看到有網(wǎng)友在問Cortex-A和Cortex-M的TrustZone之間的差異,我們來簡單介紹下。Arm在2003年的Armv6開始
    發(fā)表于 07-13 14:45

    了解體系結(jié)構(gòu)-適用于AArch64的TrustZone介紹

    在本指南中,我們介紹了TrustZone。TrustZone通過內(nèi)置在CPU中的硬件強(qiáng)制隔離,提供了一種高效的全系統(tǒng)安全方法。 我們介紹了TrustZone添加到處理器體系結(jié)構(gòu)中的功能
    發(fā)表于 08-10 07:02

    STM32 MCU TrustZone開發(fā)調(diào)試技巧分享

    系統(tǒng)隔離與ARM V8-M TrustZone技術(shù)、TrustZone地址安全區(qū)及資源安全屬性配置、TrustZone架構(gòu)下的HardFault調(diào)試與處理 、TrustZone環(huán)境中外
    發(fā)表于 09-05 06:16

    ARM TrustZone技術(shù)對Zynq SoC的作用

    現(xiàn)在,你可以通過閱讀“對Xilinx Zynq-7000 All Programmable SoC中的ARM TrustZone架構(gòu)進(jìn)行編程”這本新鮮出爐的用戶手冊,來理解怎樣更好的使用Zynq
    的頭像 發(fā)表于 08-01 08:28 ?3401次閱讀
    ARM <b class='flag-5'>TrustZone</b>技術(shù)對Zynq SoC的作用

    AN5347_STM32L5系列TrustZone?功能

    AN5347_STM32L5系列TrustZone?功能
    發(fā)表于 11-21 08:11 ?0次下載
    AN5347_STM32L5系列<b class='flag-5'>TrustZone</b>?功能

    AN5600_STM32L5系列GPIO與TrustZone的配合使用

    AN5600_STM32L5系列GPIO與TrustZone的配合使用
    發(fā)表于 11-21 08:11 ?0次下載
    AN5600_STM32L5系列GPIO與<b class='flag-5'>TrustZone</b>的配合使用

    RA6快速設(shè)計指南 [8] 使用TrustZone?

    7 使用TrustZone 7.1 Arm TrustZone 技術(shù)的實現(xiàn) 某些RA6 MCU(如RA6M4和RA6M5)包含Arm TrustZone (TZ) 安全功能。有關(guān) TZ 實現(xiàn)的完整
    的頭像 發(fā)表于 06-19 15:25 ?611次閱讀
    RA6快速設(shè)計指南 [8] 使用<b class='flag-5'>TrustZone</b>?

    Arm? TrustZone? 技術(shù)簡介

    一.前言 本文對TrustZone 進(jìn)行簡單的介紹,不涉及具體的技術(shù)細(xì)節(jié),旨在有一個概念性的感性的理解,后面有機(jī)會再分享幾篇更詳細(xì)的技術(shù)細(xì)節(jié)介紹和實際應(yīng)用案例。 本文后續(xù)內(nèi)容以瑞薩的RA系列為例
    的頭像 發(fā)表于 07-04 08:44 ?2974次閱讀
    Arm? <b class='flag-5'>TrustZone</b>? 技術(shù)簡介

    STM32 MCU TrustZone開發(fā)調(diào)試技巧分享

    電子發(fā)燒友網(wǎng)站提供《STM32 MCU TrustZone開發(fā)調(diào)試技巧分享.pdf》資料免費下載
    發(fā)表于 07-28 13:35 ?1次下載
    STM32 MCU <b class='flag-5'>TrustZone</b>開發(fā)調(diào)試技巧分享

    調(diào)試TrustZone時,如何處理HardFault?

    調(diào)試TrustZone時,如何處理HardFault?
    的頭像 發(fā)表于 09-27 16:33 ?627次閱讀
    調(diào)試<b class='flag-5'>TrustZone</b>時,如何處理HardFault?

    STM32L5中如何關(guān)閉TrustZone

    電子發(fā)燒友網(wǎng)站提供《STM32L5中如何關(guān)閉TrustZone.pdf》資料免費下載
    發(fā)表于 09-20 09:41 ?0次下載
    STM32L5中如何關(guān)閉<b class='flag-5'>TrustZone</b>

    STM32 TrustZone 開發(fā)調(diào)試技巧

    電子發(fā)燒友網(wǎng)站提供《STM32 TrustZone 開發(fā)調(diào)試技巧.pdf》資料免費下載
    發(fā)表于 12-18 11:16 ?2次下載
    STM32 <b class='flag-5'>TrustZone</b> 開發(fā)調(diào)試技巧

    STM32H5 DA 之初體驗(帶 TrustZone)

    電子發(fā)燒友網(wǎng)站提供《STM32H5 DA 之初體驗(帶 TrustZone).pdf》資料免費下載
    發(fā)表于 02-19 14:19 ?0次下載
    STM32H5 DA 之初體驗(帶 <b class='flag-5'>TrustZone</b>)