2022年2月20日 星期日

HSM, TPM, SHE, TEE, Trustzone

Source https://blog.csdn.net/DreamBitByBit/article/details/80231897

TrustZone是什麼


 基本的安全方式有加密和完整性保護等,加密通過密碼口令或是秘鑰方式,鑑權用來檢查資源是否可用,如果資源遭遇破壞則會導致鑑權失敗。由於存在多種攻擊方式,軟件方式包括軟件病毒、惡意軟件等,而硬件方式可以通過JTAG引腳、I/O引腳檢測、電流電壓檢測、顯微鏡查看電路等進行攻擊,所以需要從硬件軟件層面設計有效系統來對抗攻擊。TrustZone是ARM為了防止設備有效資源被拷貝、破壞或篡改,防止被惡意攻擊,對資產包括有形和無形資產進行,以防止惡意軟件、硬件監視、硬件干預等方式破壞或獲取設備信息。Trustzone從處理器、總線、外設等系統層面進行保護,同時考慮減少額外的資源開銷。注意時間、開銷允許的情況下,不可能阻止所有可能的攻擊,只是在一定的時間和資源(錢)的限制內,能夠保證不會受到相應的攻擊。TrustZone 將軟件硬件部分分為安全世界和正常世界,正常世界器件不可訪問安全世界區域器件、存儲空間等。TrustZone可以作為實現TPM功能的HSM (hardware Secure module) 模塊來使用。對於外設的權限控制TrustZone通過AXI-APB橋來實現,以此兼容外設需求。


 ARMv8的特徵


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


 TrustZone的結構


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



 軟件調度實現



 在實現兩個不同安全模式切換時,採用Monitor進行兩個世界的上下文切換,而對於兩個模式的配合可以使用多種不同的方式。安全世界可以擁有自己的操作系統,獨立於非安全世界;同樣安全功能也可以作為正常模式調用的子模式,或是採用兩種極端模式的折中方式。


 安全啟動與可信鏈


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



 TrustZone典型啟動過程



 硬件安全的一些理解


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

————————————————

版权声明:本文为CSDN博主「究理观心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/DreamBitByBit/article/details/80231897


Source  https://www.csdn.net/tags/MtTaIg4sNzIwODQzLWJsb2cO0O0O.html

安全加密 - HSM vs Trustzone vs SHE vs Evita ,

千次阅读2020-12-06 22:21:44

基于SAEJ3061,制定了ISO 21434。

基于SHE,扩展了HSM (在EVITA项目中提出)

 

https://www.cnblogs.com/byronsh/p/automotive-cybersecurity-standard-specification.html

 

HSM: 

TrustZone是HSM模块一种。

TrustZone实现TPM功能。

Hsm包含SHE,SHE是针对汽车领域的密钥存储,硬件加解密算法的芯片模块,SHE又分三类

 

SHE: Secure Hardware Extension

TPM:Trusted Platform Module

HSM:hardware Secure module

SHE: 是HIS制定的标准,“安全硬件扩展”。旨在将秘钥的控制从软件领域移到硬件领域。如TPM芯片等。

 

TPM:通常是硬件chip,用于单机授权验证。
HSM:除chip 外,还有支撑的软件,可以扩展为网络上存取验证。