보안 부팅과 측정 부팅의 차이: 서명 검증·TPM 기록·증명 비교
두 방식 모두 전원을 켠 뒤 OS가 실행될 때까지 부팅의 각 단계에서 다음 소프트웨어를 확인합니다. 보안 부팅은 다음 단계의 디지털 서명을 검증하고, 올바르게 서명되지 않았으면 부팅을 멈춥니다. 측정 부팅은 다음 단계의 해시를 계산해 TPM의 PCR(Platform Configuration Register)에 누적해 기록하며, 아무것도 멈추지 않습니다. 보안 부팅은 막는 방식이고, 측정 부팅은 나중에 상태를 확인하고 증명할 수 있도록 기록하는 방식입니다. 둘은 양자택일이 아니며 함께 쓰는 경우가 많습니다.
| 비교 항목 | 보안 부팅 | 측정 부팅 |
|---|---|---|
| 확인하는 것 | 다음 소프트웨어의 디지털 서명: 이미지 해시에 대한 공급업체의 서명이 신뢰하는 키로 검증되는지 | 다음 소프트웨어의 해시(측정값): 실제로 로드한 것의 값을 그대로 기록합니다 |
| 이상이 있을 때 | 검증에 실패하면 그 자리에서 부팅을 멈춥니다(강제) | 부팅은 계속하고 기록만 남깁니다(기록) |
| 신뢰의 근간 | 변경할 수 없는 ROM 부트 코드와 검증용 공개 키(공간을 아끼려고 eFuse에 해시로 저장하는 경우가 많음) | 가장 먼저 실행되어 측정을 시작하는 신뢰할 수 있는 작은 코드와, 기록을 보관하는 TPM |
| 소프트웨어가 변조되었다면 | 서명이 맞지 않으므로 실행되지 않습니다. 변조된 부트로더나 커널은 시작할 수 없습니다 | 부팅은 되지만 PCR 값이 기댓값과 달라지므로, 나중에 기록을 확인하면 드러납니다 |
| 필요한 것 | 기기에 둔 검증용 공개 키와 공급업체가 안전하게 보관하는 서명용 개인 키. 오래된 버전을 다시 설치하지 못하도록 롤백 방지와 함께 씁니다 | TPM의 PCR(확장만 가능하며, 새 측정값을 해시로 접어 넣음)과 각 단계 측정값의 기록(이벤트 로그) |
| 결과의 활용 | 허가되지 않은 소프트웨어가 그 기기에서 시작되는 것을 막습니다. 무엇이 부팅되었는지 다른 쪽에 보여 주려면 측정 부팅 등과 조합합니다 | 원격 증명(TPM의 키로 서명한 PCR 값을 서버에 제시)과 실링(PCR이 기댓값일 때만 디스크 암호화 키 같은 비밀을 꺼내 줌) |
| 한계 | 신뢰하는 키로 서명되었는지만 알 수 있으므로, 정상 서명된 오래된 취약 버전이나 설정 변경은 구별하지 못합니다. 보호 범위는 부팅 경로뿐입니다 | 악성 코드의 실행은 막지 못하며, 기록은 누군가 확인해야 의미가 있습니다. 소프트웨어를 업데이트할 때마다 PCR의 기댓값이 바뀌므로 관리가 필요합니다 |
| 대표 용도 | 스마트폰, PC, 많은 임베디드 기기. 출하 제품은 JTAG 같은 디버그 포트도 잠급니다 | TPM을 갖춘 PC에서 디스크 암호화와 네트워크 접속 전의 기기 상태 확인. TPM이 없는 마이크로컨트롤러는 측정값에서 키를 유도하는 DICE 같은 방식으로 같은 목적을 이룹니다 |
수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.