보안 부팅과 측정 부팅의 차이: 서명 검증·TPM 기록·증명 비교

두 방식 모두 전원을 켠 뒤 OS가 실행될 때까지 부팅의 각 단계에서 다음 소프트웨어를 확인합니다. 보안 부팅은 다음 단계의 디지털 서명을 검증하고, 올바르게 서명되지 않았으면 부팅을 멈춥니다. 측정 부팅은 다음 단계의 해시를 계산해 TPM의 PCR(Platform Configuration Register)에 누적해 기록하며, 아무것도 멈추지 않습니다. 보안 부팅은 막는 방식이고, 측정 부팅은 나중에 상태를 확인하고 증명할 수 있도록 기록하는 방식입니다. 둘은 양자택일이 아니며 함께 쓰는 경우가 많습니다.

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

수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.

상황별 선택 기준

보안 부팅
허가되지 않은 소프트웨어가 기기에서 절대로 실행되어서는 안 될 때. 검증 서버에 접속할 수 없는 기기에서도 단독으로 동작합니다.
측정 부팅
무엇이 부팅되었는지 서버에 증명해야 할 때나, 부팅 상태가 올바를 때만 디스크 암호화 키를 꺼내고 싶을 때. 기록을 기댓값과 비교하면 정상 서명된 오래된 버전도 찾아낼 수 있습니다.
함께 사용
보안 부팅이 허가되지 않은 부팅을 막고, 측정 부팅이 부팅 상태를 기록해 증명할 수 있게 합니다. 같은 기기에서 동시에 동작시킬 수 있습니다.

자주 묻는 질문

보안 부팅과 측정 부팅의 가장 큰 차이는 무엇인가요?

확인에 실패했을 때 부팅을 멈추는지 여부입니다. 보안 부팅은 서명이 유효하지 않은 소프트웨어의 시작을 거부합니다. 측정 부팅은 부팅을 계속하면서 각 소프트웨어의 해시를 변조 흔적이 남는 방식으로 TPM에 기록하므로, 나중에 확인하거나 원격 서버에 증명할 수 있습니다.

측정 부팅에는 TPM이 필요한가요?

보통은 TPM의 PCR에 기록합니다. TPM은 별도 칩일 수도 있고, CPU나 SoC 안에서 동작하는 펌웨어(fTPM)일 수도 있습니다. TPM이 없는 마이크로컨트롤러는 측정값에서 키를 유도하는 DICE 같은 방식으로 비슷한 목적을 이룰 수 있습니다.

보안 부팅이 있으면 측정 부팅은 필요 없나요?

역할이 다르므로 둘 다 쓰는 것이 합리적입니다. 보안 부팅은 신뢰하는 키로 서명되었는지만 확인하므로, 정상 서명된 오래된 취약 버전이나 설정 변경을 구별하지 못하고, 무엇이 부팅되었는지 다른 쪽에 보여 줄 수도 없습니다. 측정 부팅은 실제로 시작된 것의 값을 남기므로 원격 증명과 실링이 가능해집니다.

이해도 확인

시큐어 부트와 측정 부트(Measured Boot)의 차이로 올바른 것은 무엇입니까?

  1. A둘은 같은 것이며 부르는 이름만 다르다
  2. B시큐어 부트는 올바르지 않은 소프트웨어의 기동을 막고, 측정 부트는 기동한 소프트웨어의 해시 값을 TPM 등에 기록하여 나중에 상태를 확인할 수 있게 한다
  3. C측정 부트는 기동에 걸리는 시간을 측정하기만 하는 기능이다
정답과 해설 보기

정답: B. 시큐어 부트는 올바르지 않은 소프트웨어의 기동을 막고, 측정 부트는 기동한 소프트웨어의 해시 값을 TPM 등에 기록하여 나중에 상태를 확인할 수 있게 한다

측정 부트에서는 기동의 각 단계에서 다음 소프트웨어의 해시 값을 계산하여 TPM 레지스터(PCR)에 쌓아 가듯이 기록합니다. PCR은 이전 값과 새 해시 값을 조합해서만 갱신할 수 있으므로 기록을 위조할 수 없습니다. 기동 자체는 막지 않지만, 기록된 값을 보면 어떤 소프트웨어가 기동했는지를 나중에 확인하거나 원격 서버에 증명할 수 있습니다.

시큐어 부트의 설명으로 올바른 것은 무엇입니까?

  1. APC를 빠르게 기동하기 위한 구조
  2. B기동의 각 단계에서 다음에 실행할 소프트웨어의 전자 서명을 확인하고, 올바른 것만 기동한다
  3. C기동할 때마다 디스크 내용을 모두 삭제하는 구조
정답과 해설 보기

정답: B. 기동의 각 단계에서 다음에 실행할 소프트웨어의 전자 서명을 확인하고, 올바른 것만 기동한다

시큐어 부트에서는 변경할 수 없는 ROM 코드가 최초 부트로더의 서명을 확인하고, 그 부트로더가 다음 단계나 OS 커널의 서명을 확인하는 식으로 신뢰의 사슬을 이어 갑니다. 어느 단계에서든 서명이 맞지 않으면 기동을 멈추므로, 악성코드가 부트로더나 OS의 기동 부분을 바꿔 써도 실행되지 않습니다. 스마트폰, PC, 임베디드 기기에서 널리 사용됩니다.

PC 등에 탑재되는 TPM(신뢰 플랫폼 모듈)의 주된 역할로 올바른 것은 무엇입니까?

  1. A화면 표시를 빠르게 하기 위한 전용 회로
  2. BCPU 냉각을 관리하는 부품
  3. C키를 안전하게 생성하고 보관하며, 기동한 소프트웨어의 기록을 유지하여 그 상태를 증명하는 등의 보안 기능을 제공한다
정답과 해설 보기

정답: C. 키를 안전하게 생성하고 보관하며, 기동한 소프트웨어의 기록을 유지하여 그 상태를 증명하는 등의 보안 기능을 제공한다

TPM은 키의 생성과 보관, 암호 처리, 난수 생성, 기동한 소프트웨어의 해시 값 기록 등을 수행하는, 외부에서 변조되기 어려운 보안용 칩(또는 CPU에 내장된 기능)입니다. 예를 들어 기동 상태가 올바를 때만 디스크 암호화 키를 꺼낼 수 있게 하면, 디스크를 빼내거나 부트 소프트웨어를 바꿔 쓰더라도 데이터를 읽기 어려워집니다.

  1. 원격 증명(리모트 어테스테이션)의 설명으로 올바른 것은 무엇입니까?
  2. 시큐어 부트의 '루트 오브 트러스트(신뢰의 기점)'로서 칩 안에 두는 것으로 가장 적절한 것은 무엇입니까?
  3. 시큐어 부트를 갖춘 기기에서 롤백 방지(안티 롤백) 구조가 필요한 이유로 올바른 것은 무엇입니까?

하드웨어 보안 문제 풀기

주요 용어 설명

보안 부팅(Secure Boot)
부팅 각 단계에서 다음에 실행할 소프트웨어의 전자 서명을 확인하여 올바른 것만 기동하는 구조. 신뢰 체인을 이어 간다.
측정 부팅(Measured Boot)
부팅 각 단계에서 다음 소프트웨어의 해시값을 TPM 등에 누적하여 기록해 두고, 나중에 부팅 상태를 확인할 수 있게 하는 구조.
TPM
신뢰 플랫폼 모듈(Trusted Platform Module). 키의 생성과 보관, 부팅된 소프트웨어의 측정값 기록, 상태 증명 등을 수행하는 보안용 칩 또는 기능.
원격 증명(Remote Attestation)
기기가 자신 안에서 동작하는 소프트웨어의 상태를 칩 안의 키로 서명하여 원격 서버에 제시하고, 신뢰할 수 있는지 확인받는 메커니즘.
신뢰의 근간(Root of Trust)
보안 확인의 기점으로 무조건 신뢰되는 부분. 변경할 수 없는 ROM의 부팅 코드와 공개 키 등을 칩 안에 둔다.
롤백 방지(Anti-rollback)
취약점이 있는 오래된 버전의 소프트웨어로 되돌려지지 않도록, 고쳐 쓸 수 없는 저장소에 최저 버전 번호를 기록하여 비교하는 구조. 안티 롤백.

관련 비교