Hardware Root of Trust & Secure Boot
부팅 시점부터 악성 코드가 개입하지 못하도록 사슬처럼 연결된 신뢰의 계보(Chain of Trust)와 이를 뒷받침하는 불변의 하드웨어 키를 다루는 학습 노드입니다.
sys.entry
M
Me
hyunyoun's Blog
posts7 min read
1. Overview
하드웨어 신뢰의 뿌리 및 보안 부팅(Hardware Root of Trust & Secure Boot, RSB)은 컴퓨터 전원을 켜는 찰나의 순간부터 시스템의 무결성을 물리적으로 보증하는 '첫 단추' 보안 기술입니다.
소프트웨어가 실행되기 전 하드웨어가 먼저 자신의 상태를 검증해야 합니다. 학습자는 시스템 부팅 단계마다 이전 단계를 해시(Hash)하고 서명(Signature)하여 다음 단계의 정당성을 입증하는 신뢰의 사슬(Chain of Trust) 구조를 배웁니다. 특히 변조가 불가능한 물리적 저장소인 **신뢰의 뿌리(Root of Trust)**와 암호 연산을 전담하는 **TPM (Trusted Platform Module)**의 물리적 상호작용을 익힙니다. 이를 통해 BIOS/UEFI 단계부터 이미 악성 코드가 장악하는 루트킷(Rootkit) 공격을 원천 차단하는 하드웨어 방어 원칙을 확립합니다.
2. Scope & Boundaries
In-Scope
- Chain of Trust Physics: 1단계 부트로더부터 OS 커널까지의 연쇄적 서명 검증 물리
- Immutable Root of Trust: 칩 내부의 퓨즈(Fuse)나 ROM에 각인된 위조 불가능한 키
- TPM Internals: 보안 스토리지, 난수 생성기, 측정(Measurement) 레지스터 활용
- Measured Boot: 현재 시스템 상태를 TPM의 PCR(Platform Configuration Register)에 기록하는 과정
Out-of-Scope
- 일반적인 비대칭 암호 알고리즘의 수학적 증명 (01-02-02 Logic 영역으로 위임)
- OS 수준의 안티바이러스나 접근 제어 로직 (10. Security 영역으로 위임)
Boundaries
- RSB vs. TEE: TEE가 '실행 중인 데이터 격리'에 집중한다면, RSB는 '실행 전에 이 코드가 정품인가'를 판별하는 물리적 선행 검증에 집중합니다.
3. Counterexample
- 단순히 "비밀번호를 걸어 부팅을 막는다"는 설명은 RSB 학습이 아닙니다. 왜 부팅 단계에서 ROM에 고정된 키가 없으면 전체 신뢰 사슬이 단 하나라도 무너졌을 때 시스템 시작을 거부해야 하는지 물리적 원리를 지적할 수 있어야 하며, 소프트웨어가 BIOS 설정을 바꾸더라도 PCR 0번 레지스터의 해시값이 변하여 무결성 훼손이 즉각 탐지되는 메커니즘을 서술할 수 있어야 합니다.
4. Prerequisites
- 디지털 논리 및 불리언 대수 (Basic): 칩 내부 퓨즈 및 고정 입력 물리 이해가 필수입니다. (02-01-01 DLB)
- Memory & Control Flow Protection (Recommended): 페이지 보호 비트 및 접근 권한 이해가 권장됩니다. (02-04-05 MCP)
5. Learning Map
- Immutable Seed: 칩을 제조할 때 박아 넣은 세상에 하나뿐인 '진실의 씨앗(Root Key)'을 발견합니다.
- Sequential Verification: 0단계가 1단계를 검증하고, 1단계가 2단계를 깨우는 물리적 계보를 구축합니다.
- External Guardian: 암호 키를 훔칠 수 없도록 물리적으로 분리된 금고(TPM)를 연동합니다.
- Platform Measurement: 현재 내 하드웨어의 모든 부품(GPU, NIC 등)이 조작되지 않았음을 숫자로 입증하는 기술을 완성합니다.
6. Learning Topics
Basic
Core: 신뢰의 사슬과 보안 부팅 (Chain of Trust)
- Why to Learn: 소프트웨어 보안 대책이 가동되기도 전인 '초기 부팅' 단계의 장악을 막기 위함입니다.
- What to Learn:
- Secure Boot: UEFI 서명 확인을 통한 부트로더 실행 통제 물리
- Chain of Trust: 각 단계가 부모 노드를 확인하는 계층적 무결성
- Rollback Protection: 이전 버전의 취약한 펌웨어로 되돌리는 것을 방지하는 기술
- How to Learn:
- PC의 BIOS 설정에서 Secure Boot 옵션을 껐을 때와 켰을 때, 인증되지 않은 OS 이미지가 왜 거부되는지 메시지 분석 실습
- 부팅 순서도(Flowchart)를 그리며 서명 확인 실패 시 시스템이 멈추는 물리적 지점 특정
- Implement: 각 로더 단계를 해시하고, 다음 단계 파일의 서명과 대조하여 실행 승인 여부를 결정하는 의사 부팅 시퀀스
Recommended
Core: TPM과 플랫폼 측정 (TPM & PCR)
- Why to Learn: 하드웨어 키를 외부에 노출하지 않고도 안전하게 신뢰를 정량화하기 위해서입니다.
- What to Learn:
- TPM (Trusted Platform Module) 아키텍처: I/O 버스에서 격리된 물리적 칩
- PCR (Platform Configuration Register): 누적 해시(Extend) 연산을 통한 상태 기록 물리
- Endorsement Key (EK): TPM 내부에서 절대 유출되지 않는 하드웨어 각인 키
- How to Learn:
- 리눅스
tpm2_pcrread명령어를 통해 각 레지스터에 상이한 하드웨어 컴포넌트 정보가 어떻게 숫자로 찍히는지 확인 실습 - 펌웨어 업데이트를 수행한 후, 왜 PCR 수치가 변하여 기밀 해제가 안 되는지 원리 분석
- 리눅스
- Implement: 현재 시스템 해시값을 입력하면 PCR 규칙()에 따라 값을 갱신하는 시뮬레이터
Practical
Core: 하드웨어 가로채기 방어 (Hardware Tamper Resistance)
- Why to Learn: 공격자가 물리적으로 칩의 다리를 연결하거나 전선을 따서 정보를 훔치는 행위를 막기 위함입니다.
- What to Learn:
- 물리적 복제 방지 기능(PUF): 반도체 공정 미세 오차를 이용한 지문 물리
- 안티-템퍼(Anti-tamper) 케이싱: 뚜껑을 열면 키를 스스로 지워버리는 물리적 소멸 장치
- 데이터 버스 암호화: 칩과 램 사이의 통로를 암호화하여 감청 무력화
- How to Learn:
- 신용카드 칩이나 결제 단말기 하드웨어가 물리적 충격 시 왜 작동을 영구 중단(Self-destruct)하는지 설계 이유 조사 실습
- 시스템에 모르는 부품이 장착되었을 때 부팅이 거부되는 화이트리스트(Whitelisting) 원리 분석
- Implement: 특정 센서(빛, 온도 등) 값이 임계치를 넘으면 내부 저장된 가상 암호 키를 영구 삭제하는 논리 모듈
Advanced
Core: 원격 신뢰 증명 (Remote Attestation Topology)
- Why to Learn: 내 눈앞에 없는 클라우드 서버의 하드웨어나 펌웨어가 변조되지 않았음을 보증받기 위해서입니다.
- What to Learn:
- 증빙(Evidence) 생성: TPM 서명이 포함된 현재 PCR 상태 리포트
- 검증 서버(Verifier) 아키텍처: 골든 수치(Reference Values)와 대조하는 로직
- 디바이스 신원 관리: 802.1AR 등 하드웨어 아이덴티티 표준 물리
- How to Learn:
- 클라우드 인스턴스(AWS Nitro 등)가 부팅될 때, 하이퍼바이저가 어떻게 실제 하드웨어의 무결성을 리포팅하는지 기술 문서 분석 실습
- 가짜 증명서(Forge report)를 탐지하기 위한 Nonce(난수) 활용 기법 분석
- Implement: TPM이 생성한 가상의 리포트를 받아 해시 사슬을 역추적하여 오염된 로더가 있었는지 판별하는 검증 엔진
7. Terminology
8. References
Primary
- [P3] CyBOK v1.1 - Hardware Security / Hardware Roots of Trust — Standard reference.
- [P1] CS2023 - AR/System Security Hardware Support — Educational requirements.
Secondary
- [Trusted Computing Platforms: TPM 2.0 in Context] Challener et al. — The TPM 2.0 handbook.
- [Windows Boot & Security: A deep dive into Secure Boot] — Practical OS implementation.
Industry
- [TCG (Trusted Computing Group) Main Specification] — Official industry standard.
- [NIST SP 800-155: BIOS Integrity Measurement] — Government hardware standards.
9. Final Checklist
Primary
- '보안 부팅' 과정에서 하드웨어가 읽어 들이는 'DB/DBX' 리스트가 불어난 서명들을 어떻게 물리적으로 필터링하는지 설명 가능한가? (P1)
- 시스템 전원이 들어온 직후 실행되는 '첫 번째 유효 명령'이 왜 반드시 하드웨어 ROM에 있어야 함을 입증할 수 있는 가? (P1)
Secondary
- TPM의 PCR 레지스터에 값을 쓸 때 왜 단순 저장이 아닌 'Extend(SHA1/SHA256)' 물리 연산을 수행해야 하는지 소통 가능한가?
- 하드웨어 RoT가 깨졌을 때, 소프트웨어 수준의 모든 보안 방어막(Encryption, VPN 등)이 왜 의미를 잃는지 물리적 완결성 측면에서 증명할 수 있는 가?
Industry
- 대규모 서버 인프라 운영 시, 'Measured Boot' 데이터를 기반으로 오염된 노드를 자동 격리하는 보안 관제 시나리오를 제안할 수 있는 가? (SFIA)
- 임베디드 기기 설계 시, 양산 과정에서 암화화 키를 하드웨어 퓨즈(eFuse)에 굽는 'Key Provisioning' 공정의 물리적 보안 절차를 기술할 수 있는 가?