์ฝ˜ํ…์ธ ๋กœ ์ด๋™

SoC Secure Boot Flow โ€” ๊ฐœ์š” ๋ฐ ์ปจ์…‰ ๋งต

ํ•™์Šต ํ”Œ๋žœ

  • ๋ ˆ๋ฒจ: Intermediate โ†’ Advanced (์‹ค๋ฌด ๊ฒฝํ—˜ ๊ธฐ๋ฐ˜, ์ฒด๊ณ„์  ์ •๋ฆฌ + ๋ฉด์ ‘ ๋Œ€๋น„)
  • ๋ชฉํ‘œ: Secure Boot ์ „์ฒด ํ๋ฆ„์„ ํ™”์ดํŠธ๋ณด๋“œ์— ๊ทธ๋ฆฌ๋ฉฐ ๋ณด์•ˆ ์œ„ํ˜‘๊ณผ ๋ฐฉ์–ด๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€

ํ•ต์‹ฌ ์šฉ์–ด์ง‘ (Glossary)

ํ•˜๋“œ์›จ์–ด ์‹ ๋ขฐ ๊ธฐ๋ฐ˜

์•ฝ์–ด ํ’€๋„ค์ž„ ์„ค๋ช…
HW RoT Hardware Root of Trust BootROM + OTP ์กฐํ•ฉ์˜ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ์‹ ๋ขฐ ๊ธฐ์ดˆ
BootROM โ€” ๋งˆ์Šคํฌ ROM์— ๊ณ ์ •๋œ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€ ๋ถ€ํŒ… ์ฝ”๋“œ (BL1)
OTP One-Time Programmable ์ผํšŒ์„ฑ ์“ฐ๊ธฐ ๋ฉ”๋ชจ๋ฆฌ (eFuse/Antifuse). ROTPK ํ•ด์‹œ ์ €์žฅ
eFuse Electrical Fuse ์ „๋ฅ˜๋กœ ๊ธˆ์† ํ“จ์ฆˆ๋ฅผ ๋Š์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ (์ €๋น„์šฉ)
Antifuse โ€” ์ „์••์œผ๋กœ ์ ˆ์—ฐ์ธต์„ ํŒŒ๊ดดํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (๋ณด์•ˆ ์šฐ์ˆ˜)
SRAM Static RAM BL1 ์‹คํ–‰์šฉ ๊ณ ์† ๋ฉ”๋ชจ๋ฆฌ (DRAM ์ดˆ๊ธฐํ™” ์ „)

๋ถ€ํŒ… ๋‹จ๊ณ„

์•ฝ์–ด ํ’€๋„ค์ž„ ์„ค๋ช…
Chain of Trust โ€” ๊ฐ ๋‹จ๊ณ„๊ฐ€ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์„œ๋ช… ๊ฒ€์ฆ ํ›„ ์ œ์–ด๊ถŒ์„ ๋„˜๊ธฐ๋Š” ๊ตฌ์กฐ
BL1 Boot Loader 1 BootROM. HW/๋ณด์•ˆ ์ดˆ๊ธฐํ™” + BL2 ๊ฒ€์ฆ (EL3)
BL2 Boot Loader 2 FSBL. DRAM ์ดˆ๊ธฐํ™” + BL3x ๊ฒ€์ฆ (S-EL1)
BL31 Boot Loader 3-1 Secure Monitor (ATF). Secureโ†”Normal ์ „ํ™˜ ๊ด€๋ฆฌ (EL3)
BL32 Boot Loader 3-2 TEE OS (OP-TEE). Trusted App ์‹คํ–‰ (S-EL1)
BL33 Boot Loader 3-3 Normal BL (U-Boot). OS ๋กœ๋“œ (NS-EL1)
FIP Firmware Image Package ARM TF-A ํ‘œ์ค€ ๋ถ€ํŒ… ์ด๋ฏธ์ง€ ํฌ๋งท (ToC ๊ธฐ๋ฐ˜)

์•”ํ˜ธํ•™

์•ฝ์–ด ํ’€๋„ค์ž„ ์„ค๋ช…
ROTPK Root of Trust Public Key OTP์— ํ•ด์‹œ๋กœ ์ €์žฅ๋œ ์ตœ์ƒ์œ„ ๊ณต๊ฐœํ‚ค
RSA Rivest-Shamir-Adleman ๋น„๋Œ€์นญ ์•”ํ˜ธ. ๊ฒ€์ฆ ๋น ๋ฆ„, ํ‚ค ํผ (2048/4096-bit)
ECDSA Elliptic Curve DSA ํƒ€์›๊ณก์„  ๊ธฐ๋ฐ˜ ์„œ๋ช…. ํ‚ค ์ž‘์Œ, ๊ฒ€์ฆ ๋А๋ฆผ
SHA Secure Hash Algorithm ์•”ํ˜ธํ•™์  ํ•ด์‹œ ํ•จ์ˆ˜ (SHA-256/384/512)
HMAC Hash-based MAC ํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ ๋ฉ”์‹œ์ง€ ์ธ์ฆ ์ฝ”๋“œ
PQC Post-Quantum Cryptography ์–‘์ž์ปดํ“จํ„ฐ์— ์ €ํ•ญํ•˜๋Š” ์ฐจ์„ธ๋Œ€ ์•”ํ˜ธ (ML-DSA, SLH-DSA)

๋ถ€ํŒ… ์žฅ์น˜

์•ฝ์–ด ํ’€๋„ค์ž„ ์„ค๋ช…
UFS Universal Flash Storage ๊ณ ์† ์ €์žฅ์žฅ์น˜ (2.9 GB/s), ๋ณต์žกํ•œ ํ”„๋กœํ† ์ฝœ ์Šคํƒ
eMMC embedded MultiMediaCard ์ค‘๊ฐ„ ์†๋„ ์ €์žฅ์žฅ์น˜ (400 MB/s), ๋‹จ์ˆœํ•œ ํ”„๋กœํ† ์ฝœ
Boot LU Boot Logical Unit UFS ๋‚ด ๋ถ€ํŒ… ์ „์šฉ ํŒŒํ‹ฐ์…˜
RPMB Replay Protected Memory Block HMAC ๊ธฐ๋ฐ˜ ๋ณด์•ˆ ์ €์žฅ ์˜์—ญ (Anti-Rollback ์นด์šดํ„ฐ ๋“ฑ)
Pinstrap โ€” PCB GPIO ํ’€์—…/๋‹ค์šด์œผ๋กœ ๋ถ€ํŒ… ๋ชจ๋“œ ์„ ํƒ

๋ณด์•ˆ & ๊ณต๊ฒฉ/๋ฐฉ์–ด

์•ฝ์–ด ํ’€๋„ค์ž„ ์„ค๋ช…
Anti-Rollback โ€” OTP ๋‹จ์กฐ์ฆ๊ฐ€ ์นด์šดํ„ฐ๋กœ ๊ตฌ๋ฒ„์ „ FW ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ ๋ฐฉ์ง€
FI Fault Injection ์ „์••/ํด๋Ÿญ/EM ๊ธ€๋ฆฌ์น˜๋กœ ๋ณด์•ˆ ๊ฒ€์ฆ์„ ์šฐํšŒํ•˜๋Š” ๋ฌผ๋ฆฌ ๊ณต๊ฒฉ
SCA Side-Channel Attack ์ „๋ ฅ/EM/ํƒ€์ด๋ฐ ๋ถ„์„์œผ๋กœ ์•”ํ˜ธ ํ‚ค๋ฅผ ์ถ”๋ก ํ•˜๋Š” ๊ณต๊ฒฉ
TOCTOU Time-of-Check-to-Time-of-Use ๊ฒ€์ฆ~์‚ฌ์šฉ ์‚ฌ์ด์— DMA๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ณ€์กฐํ•˜๋Š” ๊ณต๊ฒฉ
ROM Patch โ€” BootROM ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฉ”์ปค๋‹ˆ์ฆ˜ (HW Address Comparator ์‚ฌ์šฉ)
Lifecycle State โ€” Dev โ†’ Provisioning โ†’ Production โ†’ End-of-Life (๋น„๊ฐ€์—ญ์ )

๊ฒ€์ฆ ๊ด€๋ จ

์•ฝ์–ด ํ’€๋„ค์ž„ ์„ค๋ช…
Measured Boot โ€” ๋ถ€ํŒ… ๋‹จ๊ณ„ ํ•ด์‹œ๋ฅผ TPM PCR์— ๊ธฐ๋ก (Remote Attestation ๊ฐ€๋Šฅ)
TPM Trusted Platform Module ๋ณ„๋„ ์นฉ์˜ ๋ณด์•ˆ ์ €์žฅ์†Œ (PCR, ํ‚ค ๊ด€๋ฆฌ)
DICE Device Identifier Composition Engine TPM ์—†๋Š” ๊ฒฝ๋Ÿ‰ ๊ธฐ๊ธฐ์šฉ ์ธก์ • ๋ถ€ํŒ… ํ‘œ์ค€
DPI-C Direct Programming Interface C SystemVerilogโ†”C ์–‘๋ฐฉํ–ฅ ์ธํ„ฐํŽ˜์ด์Šค (HW/SW Co-verification)

์ปจ์…‰ ๋งต

PORHWROTCOTCRYPTOBOOTDEVATTACK
PORHWROTCOTCRYPTOBOOTDEVATTACK

ํ•™์Šต ๋‹จ์œ„ (Units)

# ๋‹จ์œ„ ํ•ต์‹ฌ ์งˆ๋ฌธ
1 Hardware Root of Trust ์‹ ๋ขฐ์˜ ๊ธฐ๋ฐ˜์€ ์™œ ํ•˜๋“œ์›จ์–ด์—ฌ์•ผ ํ•˜๋Š”๊ฐ€?
2 Chain of Trust & Boot Stages BL1โ†’BL2โ†’BL3x ์ธ์ฆ ์ „ํŒŒ๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”๊ฐ€?
3 Secure Boot ์•”ํ˜ธํ•™ ์„œ๋ช… ๊ฒ€์ฆ๊ณผ ํ‚ค ๊ด€๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š”๊ฐ€?
4 Boot Device & Boot Mode ๋ถ€ํŒ… ์žฅ์น˜๋Š” ์–ด๋–ป๊ฒŒ ์„ ํƒ๋˜๊ณ , ๊ฐ๊ฐ ์–ด๋–ป๊ฒŒ ์ดˆ๊ธฐํ™”๋˜๋Š”๊ฐ€?
5 ๊ณต๊ฒฉ ํ‘œ๋ฉด๊ณผ ๋ฐฉ์–ด Secure Boot์— ๋Œ€ํ•œ ๊ณต๊ฒฉ ์œ ํ˜•๊ณผ ๋ฐฉ์–ด ๊ธฐ๋ฒ•์€?
6 Quick Reference Card ๋ฉด์ ‘ ์ง์ „ ๋น ๋ฅธ ๋ณต์Šต์šฉ ์š”์•ฝ ์นด๋“œ
7 BootROM DV ๊ฒ€์ฆ ๋ฐฉ๋ฒ•๋ก  UVM ํ”„๋ ˆ์ž„์›Œํฌ๋กœ Secure Boot๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฒ€์ฆํ•˜๊ณ , Zero-Defect Silicon์„ ๋‹ฌ์„ฑํ•˜๋Š”๊ฐ€?

ํ•™์Šต ์˜์กด์„ฑ ํ๋ฆ„

U1U2U5U3U4U7U6
U1U2U5U3U4U7U6

๊ถŒ์žฅ ํ•™์Šต ์ˆœ์„œ: Unit 1 โ†’ 2 โ†’ ¾/5 (๋ณ‘๋ ฌ ๊ฐ€๋Šฅ) โ†’ 7 โ†’ 6 (๋ฉด์ ‘ ์ง์ „ ๋ณต์Šต)


์ด๋ ฅ์„œ ์—ฐ๊ฒฐ ํฌ์ธํŠธ

์ด๋ ฅ์„œ ํ•ญ๋ชฉ ๊ด€๋ จ Unit ๋ฉด์ ‘ ์‹œ ํ™œ์šฉ
OTP Abstraction Layer (RAL ๋ชจ๋ธ๋ง) Unit 1, 4, 7 OTP ์ถ”์ƒํ™” + Boot Mode sweep ์ „๋žต
Active UVM Driver (force/release) Unit 5, 7 Fault Injection ์‹œ๋ฎฌ๋ ˆ์ด์…˜ + Negative ์‹œ๋‚˜๋ฆฌ์˜ค
DPI-C C-model ํ†ตํ•ฉ Unit 3, 7 HW/SW Co-verification + ๋ณด์•ˆ ํ•ธ๋“œ์…ฐ์ดํฌ ๊ฒ€์ฆ
Apple/Meta ํฌํŒ… Unit 7 ๋ชจ๋“ˆํ˜• UVM ์•„ํ‚คํ…์ฒ˜์˜ ์žฌ์‚ฌ์šฉ์„ฑ + ํฌํŒ… ์ „๋žต
BootROM Lead 3๋…„ Unit 7 ์ „์ฒด ๊ฒ€์ฆ ์ „๋žต + Coverage + Post-silicon ์—ฐ๊ฒฐ
Legacy โ†’ UVM ์ „ํ™˜ Unit 7 ๋ฌธ์ œ ๋ถ„์„ โ†’ ํ•ด๊ฒฐ โ†’ ์„ฑ๊ณผ ์Šคํ† ๋ฆฌ
Coverage-Driven ๋ฐฉ๋ฒ•๋ก  Unit 7 5๊ฐœ Covergroup ๊ตฌ์กฐ + Closure ์ „๋žต
Zero-Defect Silicon Unit 7 Pre-silicon ์™„์ „์„ฑ โ†’ Post-silicon ๋””๋ฒ„๊ทธ ๊ฐ€์†