ARMv8 Security

内容来自 DEN0024A_v8_architecture_PG.pdf
本质
  • ARMv8 Security 是什么
本质
	增加了一个 Secure world , 该体系结构的增加意味着单个物理内核可以以时间切片的方式执行来自正常世界和安全世界的代码
	定义了 硬件实现 , 规范了 软件实现 
	软件实现 : TrustZone安全扩展
	硬件实现 : 安全外围设备
	ARM安全模型将设备硬件和软件资源进行了划分,以便它们要么存在于安全子系统的安全世界中,要么存在于其他所有系统的正常世界中。
	world这个词不仅用于描述执行状态,还用于描述所有只能在该状态下访问的内存和外围设备。
		Secure world 		包括 软件和硬件
		Non-secure world  也包括 软件和硬件
目的:
	
	Security is usually defined by the principles of Confidentiality, Integrity, and Availability.
	
	A system that offers 
		a certain level of security, 
		a trusted system, is one that protects assets, prevent them from being copied or damaged, or made unavailable.
		for example 
			passwords and cryptographic keys, 
			or credit card details, 
			from a range of plausible attacks,
	
	阻挡两种攻击
		1. Software attacks
			通常不需要对设备进行物理访问,并且可以利用操作系统或应用程序中的漏洞进行攻击。
		2. Simple hardware attacks
			这些攻击通常是被动的,主要是非破坏性的攻击,需要访问设备和接触电子设备,并使用常见的工具,如逻辑探针和JTAG运行控制单元。
	不阻挡 "实验室硬件攻击"
		这种攻击需要复杂且昂贵的工具,如聚焦离子束(FIB)技术或功率分析技术,并且更常用于对付智能卡设备。
  • 硬件
平行世界的诞生
	将之前的所有都封装到了 Non-secure world , 并增加了一个 Secure world
	world这个词不仅用于描述执行状态,还用于描述所有只能在该状态下访问的内存和外围设备。
  • 软件
除非执行正常世界要求的某些操作,否则通常应避免消耗大量执行时间,并且应尽快向正常世界发送非安全中断信号。
相关概念
  • 两个world的切换 与交互
切换
	Non-secure world -> Secure world
		1. Non-secure world 执行代码时 ,调用SMC
		2. Non-secure world 执行代码时 ,发生 secure world 中的设备中断(一般被映射为FIQ)
	Secure world  -> Non-secure world
		1. Secure world 执行代码时 , 调用ERET
		2. Secure world 执行代码时 , 发生 Non-secure world 中的设备中断 // ?? TODO

交互
	相关组织封装了 SMC 
	普通世界库提供的高级API,例如authenticate()。该库由与受信任服务相同的供应商提供
	用户应用程序调用API进行适当的操作系统调用,然后传递到驱动程序代码,然后通过安全监视器将执行传递到TEE
  • SMP 中的 Security
多核系统中的每个核心都具有 两个 world
  • 如何在 Secure world 下调试
安全系统还控制调试供应的可用性。
您可以通过完整的JTAG调试和跟踪控制为正常和安全的软件世界配置单独的硬件,这样就不会泄露有关受信任系统的信息。
您可以通过安全外围设备控制硬件配置选项,也可以通过以下信号对其进行硬连接和控制:
	•安全特权入侵调试启用(SPIDEN):JTAG调试。
	•安全特权非侵入性调试启用(SPNIDEN):跟踪和性能监视器。
  • boot
BL1 BL2 是芯片厂家固化到soc芯片里面的代码
BL31 一般是 ATF
BL32 一般是 arm trust os
BL33 一般是 UEFI或者u-boot

最终启动后 // 所有的code时分复用同一个核心
EL0 (non-trust)	跑着 linux-app	/ EL0 (trust) 跑着 trust app
EL1 (non-trust) 跑着 linux 		/ EL1 (trust) 跑着 trust os
EL2 (non-trust) 跑着 HYP  		/ EL2 (trust) 什么都没跑
EL3  			跑着 ATF 		// EL3 只有 trust

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值