在ARMv8中首次引入了Exception Level的概念,每个Exception Level代表了不同的特权级别。当然了ARMv7也存在同样的特权级别,只不过名字是用PL定义的。

先来看下ARMv8的Exception Level的定义:

android 安全程序级别 安卓系统安全等级l1_android手机

 

ARMv8将特权级别分为4个level,分别是EL0,EL1,EL2,EL3。而每个level的特权不一样的,特权大小EL0<EL1<EL2<EL3。

因为ARMv8中ARM TrustZOne的广泛使用,则将整个系统分为两部分一个是Normal World,一个是Secure World.

  • Normal World就代表的是正常的世界,比如android手机中linux操作系统就在normal world,
  • Secure World就是安全世界,比如android手机中的高通的QSEE就是运行在Secure World

 

而每个Exception Level都代表啥意思呢:

  • EL0: 就是用户空间,在Noraml world中比如运行的应用程序,在Secure world就是TA,Trust Application
  • EL1:运行操作系统,Noramal World比如Linux操作系统,或者WInce操作系统。在Secure World则就是Trusted OS,比如高通的QSEE, 开源的OP-TEE,豌豆荚的TEE等
  • EL2:ARM为了支持虚拟化,设计的Hypervisor层,只有在Noraml world使用。
  • EL3:Secure Moniter的作用是用于Noraml world和Secure world切换使用。当noraml world想要访问Secure world需要发送SMC指令进入Secure Moniter层,然后进入到Secure world

 

 

而在ARMv7中使用的是Privilege level的概念,而且只存在PL0,PL1,PL2

android 安全程序级别 安卓系统安全等级l1_arm_02

在ARMv7的后期已经开始引入了ARM TrustZone技术了。所以在ARMv7中也分为了两种状态,分别是Noraml World

  • Normal World
  1. PL0 (UserSpace空间)
  2. PL1(kernel OS, 比如linux OS)
  3. PL2(Hyp mode)
  • SecureWorld:
  1. PL0 (UserSpace 比如TA应用)
  2. PL1 (Trusted OS,比如QSEE,OP-TEE)
  3. 无PL2,Secure Moniter也是运行在PL1阶段的

 

本节描述了ARMv7中的特权级别PL,以及ARMv8中的EL概念。

 




在ARMv8中首次引入了Exception Level的概念,每个Exception Level代表了不同的特权级别。当然了ARMv7也存在同样的特权级别,只不过名字是用PL定义的。

先来看下ARMv8的Exception Level的定义:

android 安全程序级别 安卓系统安全等级l1_特权级_03

 

ARMv8将特权级别分为4个level,分别是EL0,EL1,EL2,EL3。而每个level的特权不一样的,特权大小EL0<EL1<EL2<EL3。

因为ARMv8中ARM TrustZOne的广泛使用,则将整个系统分为两部分一个是Normal World,一个是Secure World.

  • Normal World就代表的是正常的世界,比如android手机中linux操作系统就在normal world,
  • Secure World就是安全世界,比如android手机中的高通的QSEE就是运行在Secure World

 

而每个Exception Level都代表啥意思呢:

  • EL0: 就是用户空间,在Noraml world中比如运行的应用程序,在Secure world就是TA,Trust Application
  • EL1:运行操作系统,Noramal World比如Linux操作系统,或者WInce操作系统。在Secure World则就是Trusted OS,比如高通的QSEE, 开源的OP-TEE,豌豆荚的TEE等
  • EL2:ARM为了支持虚拟化,设计的Hypervisor层,只有在Noraml world使用。
  • EL3:Secure Moniter的作用是用于Noraml world和Secure world切换使用。当noraml world想要访问Secure world需要发送SMC指令进入Secure Moniter层,然后进入到Secure world

 

 

而在ARMv7中使用的是Privilege level的概念,而且只存在PL0,PL1,PL2

android 安全程序级别 安卓系统安全等级l1_android手机_04

在ARMv7的后期已经开始引入了ARM TrustZone技术了。所以在ARMv7中也分为了两种状态,分别是Noraml World

  • Normal World
  1. PL0 (UserSpace空间)
  2. PL1(kernel OS, 比如linux OS)
  3. PL2(Hyp mode)
  • SecureWorld:
  1. PL0 (UserSpace 比如TA应用)
  2. PL1 (Trusted OS,比如QSEE,OP-TEE)
  3. 无PL2,Secure Moniter也是运行在PL1阶段的

 

本节描述了ARMv7中的特权级别PL,以及ARMv8中的EL概念。