潮声隔雨深 · 2020年03月15日

AXI上的安全从设备

请教:1:AXI上的安全从设备, 其定义是:(1)该从设备只能TEE访问,REE永不能访问? 还是(2)TEE设置并保持AR/AWPORT1信号为0,使用该从设备时,REE就不能访问该从设备? 但当TEE设置并保持AR/AWPORT1信号为1,不使用该从设备时,REE也可访问该从设备? 还是(3)其它?

2:AXI上的AR/AWPORT1信号(低表示Secure, 高表示Non-Secure),是否REE也可主动设置AR/AWPORT1信号状态为低,对AXI上的安全从设备SE进行访问?REE访问AXI从设备时,REE是否只能设置AR/AWPORT1信号为高(自动为高?)? TEE访问AXI从设备时,TEE是否只能设置AR/AWPORT1信号只能设置为低(自动为低?)? 谢谢。

1 个回答 得票排序 · 时间排序
一知半解 · 2020年03月15日

Q1: 首先从ARM架构来讲,S:0x100, 和NS:0x100 是2个不同的地址,但是一般实现SoC,不会把NS和S的physical memory map设置为重叠。对于你这个Secure slave device ,假如你设置其地址为S:0x100, 你要是从REE来访问,AXI transaction为AxPROT[1] =1 (Non-secure access), 有可能bus都给挡住了。假如到了你的secure slave device,就看你的实现, 假如不是TrustZone-aware的slave,可以忽略这个signal; 假如可以区分,就会error

Q2: REE在pagetable里面及时你设置table entry为Secure属性,也会被cpu当作non-secure的transaction, 否则就是一个安全漏洞。 REE不能发出来AxPROT[1] =0 的transaction

TEE里面你也可以配置页表,发出non-secure的transaction。 即AxPROT[1] =1

你的回答