[SSS] Trusted Execution Environment
기존 시스템에서는 OS Kernel을 Root of Trust로 간주하고 User Program은 메모리 할당 및 하드웨어 제어 작업을 수행할 때 커널을 무조건적으로 신뢰한다.
그런데.. 커널 자체에 취약점이 있거나 커널 수준에서 동작하는 루트킷 등 악성코드는 이런 신뢰 모델을 위협함.
Trusted Execution Environment (TEE) 는 커널로부터 격리된 안전한 실행 환경을 구축할 때 사용한다.
커널이 해킹당하더라도 보안에 민감한 애플리케이션을 보호하고 보안 모니터 역할을 수행한다.

루트킷이 Kernel Space에 설치되고 Security Module을 공격해 보안 조치를 우회한다.
하드웨어와의 상호작용에 직접 개입해서 키보드 입력을 가로챌 수도 있고.. System Monitor를 속여서 악성 프로세스 목록을 숨길 수 있다.
TEE는 보안과 무결성이 보장되는 처리 환경으로 일반 환경과 완전히 격리되어 있다.

<TEE 의 전체적인 아키텍처>
1. Platform Integrity
시스템이 부팅되는 순간부터 신뢰할 수 있도록 보장한다.
Secure Boot - 부팅 과정의 각 단계마다 checker가 수행돼 다음 단계 소프트웨어가 신뢰할 수 있는지 확인한다.
검증을 통과해야지 다음 부팅 단계로 진행할 수 있다. 애초에 승인되지 않은 소프트웨어는 실행될 수 없음.
Authenticated Boot - 역시 각 단계마다 Measurer가 수행돼 다음 단계 소프트웨어의 고유 값을 측정한다.
부팅이 완료된 후 시스템이 어떤 소프트웨어 구성 요소들로 부팅됐는지를 기록한다.

부팅 시 Boot code certificate와 Boot code hash가 시스템에 제공된다. (정상적인 부트 코드를 증명)
하드웨어에 내장된 Trust Anchor가 증명서를 받고 Cryptographic Mechanisms을 사용해 현재 실행하려는 Boot Sequence가 올바른지 검증한다.
즉, Secure Boot가 위와 같은 방식으로 구현된다는 것..
2. Secure Storage
중요한 데이터를 안전하게 저장한다.

Trust Anchor에 저장된 고유 키인 Device Key를 사용한다.
Cryptographic Mechanisms은 키를 사용해 데이터를 암/복호화하고, Non-volatile Memory는 암호화된 데이터를 저장한다.
일반 OS는 암호화되지 않은 원본 데이터나 Device Key에 접근할 수 없기에 OS가 해킹당하더라도 Secure Storage에 저장된 민감한 정보는 안전하게 보호된다.
3. Isolated Execution
민감한 애플리케이션을 일반 OS와 분리해서 안전하게 실행한다.

Trusted Application을 일반 OS가 접근하거나 간섭할 수 없는 보호된 환경에서 실행한다.
일반 OS 환경인 Rich Execution Environment (REE) 에서 TEE 내부의 기능을 실행하도록 요청한다.
TEE에 진입하기 전에 Trusted Application의 코드 해시와 인증서가 Verification Root로 전달되고, 안전하다고 판단되면 Trusted Application을 격러된 메모리 환경에 로드해서 실행한다.
4. Device Identification
장치 고유의 ID를 안전하게 관리한다.

Trust Anchor로 표시된 Base Identity가 핵심이다. 변경할 수 없는 식별자라고 보면 됨.. PK..
Verification Root가 Base Identity를 관리하고 장치의 신원을 증명한다.
5. Device Authentication
장치가 신뢰할 수 있음을 원격 서버에도 증명한다.

장치가 신뢰할 수 있는 장치라는걸 외부에 증명해야 한다.
TEE 내부에는 안전하게 저장된 Device Key가 있고 이 Key를 기반으로 Device Public Key가 생성된다.
두 Key를 가지고 Device Certificate가 만들어지고 인증 기관을 통해 검증함.
그냥 웹에서 TLS 적용하는거랑 비슷함..

TEE가 실제 시스템에서 어떻게 구성되는지 보여준다.
REE는 일반적인 운영체제이고.. REE 환경에서의 애플리케이션은 TEE의 보호된 기능에 접근하기 위해 TEE API를 사용해야 한다.
TEE는 REE와는 완전히 격리되어있고, 보안 실행 환경을 제공한다.
구현 방법으로는 세 가지가 있음.
외부 하드웨어 보안 모듈
TEE 기능을 SoC 외부의 독립된 하드웨어 모듈로 구현하는 방식.
통신 과정에서 오버헤드가 크고 전력 소모가 크다.
내부 하드웨어 보안 모듈
TEE 기능을 SoC 내부에 별도의 전용 하드웨어로 구현하는 방식.
비용은 절감되는데 설계가 더 복잡해진다.
프로세서 보안 환경
가장 많이 사용되는 방식으로, Normal World와 Secure World를 분리한다. (REE / TEE)
폰에 탑재되는 ARM TrustZone이 대표적인 예시.
TEE의 주요 솔루션으로는 인텔의 Management Engine이 있다.
인텔은 Hybrid Solution으로 Management Engine을 사용한다.
인텔 칩 내부에 있는 독립된 컴퓨팅 환경으로, TEE를 구현하는 핵심
ME 등장 전에는 Software Solution 하나만 쓰거나 Hardware Solution 하나만 쓰거나 했음.. 그런데 각자 단점이 있어서 두 개를 섞은 Hybrid Solution을 사용. (유연성 부족, 신뢰 수준 저하 등..)

ME는 시스템 속의 다른 시스템 처럼 독립적으로 작동한다.
ME는 호스트 OS와 완전히 독립적으로 동작해 호스트가 깨지더라도 ME는 영향받지 않는다.
낮은 주파수에서도 실행할 수 있어 효과적이지만, 칩에 전용 하드웨어를 추가하는 설계이다 보니 제품의 원가를 상승시킨다.
또 낮은 주파수에서 실행하는게 장점이기도 한데.. 무거운 계산을 처리하는게 힘듦
다른 예시로는 Trusted Platform Module (TPM)이 있다.
TEE와 신뢰 컴퓨팅을 구현하기 위한 핵심적인 하드웨어 부품으로 암호화 키를 안전하게 생성하는 보안 암호화 보조 프로세서의 표준.
전용 하드웨어 TPM 칩은 비용이 너무 비싸다.
인텔은 Intel PTT (Platform Trust Technology) 라는 펌웨어 기반 TPM을 구현함.

별도의 칩 대신 Embedded System 내부에 펌웨어로 TPM을 구현하고, 호스트 OS의 TPM driver가 TPM task와 통신한다.
당연히 TPM task는 호스트와 격리된 환경에서 동작함. (35)
IPT는 인증, 온라인 접속과 관련된 여러 기술을 모아둔 suite이다.
OTP를 사용한 이중 인증 , PTD로 비밀번호 보호 , 개인 키 보호 등..
요점은 아키텍처마다 TEE를 구현하는 방법이 서로 다르다는 것..
지금까지는 Intel이 이렇게 한다는거고 AMD는 또 AMD Secure Processor라는 별도의 ARM 기반 코어를 칩에 내장해서 TEE를 구현한다.
'Computer Science > Computer Security' 카테고리의 다른 글
| [SSS] Trusted Execution Environment 2 (0) | 2025.11.24 |
|---|---|
| [SSS] OPTEE - Open Portable Trusted Execution Environment (0) | 2025.11.20 |
| [SSS] Software Defense (0) | 2025.11.10 |
| [SSS] OS kernel and Rootkit (0) | 2025.11.01 |
| [SSS] Race Condition (0) | 2025.10.20 |
댓글
이 글 공유하기
다른 글
-
[SSS] Trusted Execution Environment 2
[SSS] Trusted Execution Environment 2
2025.11.24 -
[SSS] OPTEE - Open Portable Trusted Execution Environment
[SSS] OPTEE - Open Portable Trusted Execution Environment
2025.11.20 -
[SSS] Software Defense
[SSS] Software Defense
2025.11.10 -
[SSS] OS kernel and Rootkit
[SSS] OS kernel and Rootkit
2025.11.01