콘텐츠로 바로가기

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

  1. Immutable Seed: 칩을 제조할 때 박아 넣은 세상에 하나뿐인 '진실의 씨앗(Root Key)'을 발견합니다.
  2. Sequential Verification: 0단계가 1단계를 검증하고, 1단계가 2단계를 깨우는 물리적 계보를 구축합니다.
  3. External Guardian: 암호 키를 훔칠 수 없도록 물리적으로 분리된 금고(TPM)를 연동합니다.
  4. 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: 각 로더 단계를 해시하고, 다음 단계 파일의 서명과 대조하여 실행 승인 여부를 결정하는 의사 부팅 시퀀스

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 규칙(New_PCR=Hash(Old_PCRValue)New\_PCR = Hash(Old\_PCR \| Value))에 따라 값을 갱신하는 시뮬레이터

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

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
Root of Trust 절대로 변하거나 조작될 수 없는, 시스템 내 모든 신뢰의 기점이 되는 하드웨어 물리 기반입니다. 기본 신뢰 기점 RoT / OTP Seed '단순한 관리자'와 무관 P3:CyBOK core
TPM 암호화 키 생성 및 저장, 시스템 상태 측정을 담당하는 독립된 물리적 보안 칩셋입니다. 추천 보안 수행 PCR / EK HSM '일반 CPU' 속 기능이 아님 Industry Std core
Chain of Trust 이전 단계의 무결성이 다음 단계의 시작을 보증하며 이어지는 계층적 물리 검증 사슬입니다. 실무 연달은 검증 Bootloader Authentication 사슬 하나만 끊겨도 무효 P3:CyBOK core
PCR (플랫폼 설정 레지스터) 하드웨어 상태를 누적으로 해싱하여 저장하는, 덮어쓰기가 불가능한 물리 레지스터입니다. 심화 상태 기록 Extend / Hash Snapshot '일반 저장소'와 혼동 주의 Industry Spec core

8. References

Primary

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' 공정의 물리적 보안 절차를 기술할 수 있는 가?