ARM Security ์ฉ์ด์ง¶
ํต์ฌ ์ฉ์ด ISO 11179 ํ์ ์ ์.
E โ EL / Enclave¶
EL (Exception Level)¶
Definition. ARMv8์ ๊ถํ ๊ณ์ธต์ผ๋ก EL0 (user) โ EL1 (kernel/OS) โ EL2 (hypervisor) โ EL3 (secure monitor)์ 4๋จ๊ณ.
Source. ARMv8-A Architecture Reference Manual.
Related. Exception, ERET, SVC/HVC/SMC.
See also. Module 01
Secure Enclave¶
Definition. ๋ณ๋ processor + ์ ์ฉ RAM + ์ ์ฉ crypto engine์ผ๋ก ๋ฌผ๋ฆฌ์ ์ผ๋ก ๊ฒฉ๋ฆฌ๋ ๋ณด์ ์์ญ์ผ๋ก, TrustZone์ ํ๊ณ๋ฅผ ๊ทน๋ณต.
Source. Apple SEP, Google Titan M, Samsung Knox vault.
Related. TEE, mutual distrust.
See also. Module 02A
G โ GIC¶
GIC (Generic Interrupt Controller)¶
Definition. ARM์ ํ์ค ์ธํฐ๋ฝํธ ์ปจํธ๋กค๋ฌ๋ก, GIC v3๋ Group 0 (secure) / Group 1 (non-secure) ๋ถ๋ฆฌ๋ฅผ ์ง์.
Source. ARM GIC v3 Architecture Specification.
Related. SGI/PPI/SPI, IRQ/FIQ.
N โ NS bit¶
NS (Non-Secure) bit¶
Definition. PSTATE์ 1-bit field๋ก, ํ์ฌ instruction์ด ๋ฐ๊ธ๋ World (Secure=0, Non-Secure=1)๋ฅผ ํ์. ๋ฉ๋ชจ๋ฆฌ/peripheral access๋ง๋ค propagate.
Source. ARMv8-A.
Related. TrustZone, world switch.
See also. Module 01
S โ SMC / Secure Monitor¶
SMC (Secure Monitor Call)¶
Definition. EL3๋ก ์ง์ ํ๊ธฐ ์ํ ARM instruction์ผ๋ก, Non-Secure World์์ Secure World๋ก ์ ํํ ๋ ์ฌ์ฉ.
Source. ARMv8-A.
Related. SVC (EL1 syscall), HVC (EL2 hypervisor call), Secure Monitor.
See also. Module 02
Secure Monitor¶
Definition. EL3์ ์๊ตฌ ๊ฑฐ์ฃผํ๋ software (BL31 / ATF)๋ก, world switch ์ register save/restore + policy enforcement ๋ด๋น.
Source. ARM Trusted Firmware.
Related. BL31, EL3, world switch.
See also. Module 02
T โ TEE / TrustZone / TZASC / TZPC¶
TEE (Trusted Execution Environment)¶
Definition. ์ผ๋ฐ OS์ ๊ฒฉ๋ฆฌ๋ ๋ณด์ ์คํ ํ๊ฒฝ์ผ๋ก, ARM TrustZone, SGX, SEP ๋ฑ์ด ๊ตฌํ.
Source. GlobalPlatform TEE specification.
Related. REE (Rich Execution Environment), Trusty, OP-TEE.
TrustZone¶
Definition. ARM์ CPU ๊ธฐ๋ฐ hardware ๋ณด์ ํ์ฅ์ผ๋ก, Secure World์ Non-Secure World์ ์ํ์ ๊ฒฉ๋ฆฌ๋ฅผ ์ ๊ณต.
Source. ARM TrustZone documentation.
Related. NS bit, World switch, EL3.
See also. Module 01
TZASC (TrustZone Address Space Controller)¶
Definition. DRAM ์์ญ์ Secure / Non-Secure๋ก ๋ถํ ํ๋ SoC peripheral๋ก, ๋นsecure access๋ฅผ ์ฐจ๋จ.
Source. ARM TZC-400/TZC-500 spec.
See also. Module 02
TZPC (TrustZone Protection Controller)¶
Definition. SoC peripheral๋ง๋ค Secure / Non-Secure ์ค์ ์ ๊ด๋ฆฌํ๋ controller.
Source. ARM TZPC spec.
See also. Module 02
W โ World Switch¶
World Switch¶
Definition. Secure World โ Non-Secure World ์ ํ ๊ณผ์ ์ผ๋ก, ๋ฐ๋์ EL3 Secure Monitor๋ฅผ ๊ฒฝ์ .
Source. ARMv8-A.
Flow. SMC โ trap to EL3 โ save context โ switch NS bit โ restore other world context โ ERET.
See also. Module 02
์ถ๊ฐ ์ฝ์ด¶
| ์ฝ์ด | ํ๋ค์ | ์๋ฏธ |
|---|---|---|
| ATF | ARM Trusted Firmware | EL3 secure monitor ๊ตฌํ์ฒด |
| OP-TEE | Open Portable TEE | open source TEE OS |
| SGX | Software Guard Extensions | Intel์ enclave (TrustZone๊ณผ ๋ค๋ฅธ model) |
| SEP | Secure Enclave Processor | Apple์ secure enclave |
| HVC | Hypervisor Call | EL2 ์ง์ instruction |
| SVC | Supervisor Call | EL1 ์ง์ (syscall) |
| REE | Rich Execution Environment | ์ผ๋ฐ OS ์์ญ (TEE์ ๋ฐ๋) |