TPM(Trusted Platform Module)
1. 개요
가. 정의
암호키의 생성·저장, 플랫폼 구성요소의 무결성 측정, 봉인·원격검증 등을 수행하는 하드웨어 기반 보안 칩(보안 코프로세서) 으로, TCG(Trusted Computing Group)가 표준화한 신뢰의 뿌리(Root of Trust) 장치. 현재는 TPM 2.0이 사실상 표준이다.
TPM의 핵심 발상은 "보안의 뿌리를 소프트웨어가 아닌 하드웨어에 둔다"는 것이다. 운영체제나 백신 같은 소프트웨어 보안은 결국 자신도 메모리 위에서 실행되는 코드이므로, 커널이 장악되거나 부팅 초기 단계가 조작되면 함께 무력화된다. 즉 "보안을 지키는 코드 자체의 무결성을 무엇이 보증하는가"라는 순환 문제가 남는다. TPM은 변조가 어려운(tamper-resistant) 별도 칩에 개인키와 측정값을 격리해, 상위 소프트웨어가 감염되더라도 뿌리 신뢰만은 유지되도록 만든다.
나. 등장 배경 및 필요성
디스크 암호화 키나 인증서를 일반 메모리·디스크에 두면 메모리 덤프나 파일 탈취로 키가 유출된다. 또 부트로더·커널을 몰래 바꿔치기하는 부트킷·루트킷은 OS가 뜨기 전에 자리 잡아 탐지가 어렵다. TPM은 키를 칩 밖으로 원문 노출 없이 사용하게 하고, 부팅 각 단계의 해시를 물리적으로 누적 기록해 조작을 사후에 증명 가능하게 함으로써 이 두 문제를 동시에 해결한다. Windows 11이 TPM 2.0을 필수 요건으로 삼은 것도, 개인 PC 수준까지 하드웨어 신뢰 기반을 끌어올리려는 흐름을 보여준다.
2. 주요 기능
flowchart LR
K[키 생성·보관] --- M[무결성 측정<br/>PCR]
M --- S[봉인 Sealing]
S --- A[원격 검증<br/>Attestation]
TPM의 기능들은 개별 부품이 아니라 "측정 → 봉인 → 증명"으로 이어지는 하나의 신뢰 사슬이다. 아래에서 각 기능이 왜 필요하고 어떻게 맞물리는지 서술한다.
가. 키 생성·보관 — TPM은 내부 난수생성기로 키를 만들고, 개인키를 칩 밖으로 원문 형태로 내보내지 않은 채 서명·복호에만 사용한다. 최상위 루트키(SRK 등)는 칩을 떠나지 않으며, 하위 키들은 이 루트키로 암호화(wrapping)되어 디스크에 보관되므로 파일이 유출돼도 해당 칩이 없으면 쓸 수 없다. 이것이 소프트웨어 키스토어 대비 근본적 차이다.
나. 무결성 측정(PCR) — 부팅 시 펌웨어→부트로더→커널 순으로 각 단계가 다음 단계를 실행하기 전에 그 코드의 해시를 계산해 PCR(Platform Configuration Register) 에 기록한다. 이때 PCR은 덮어쓰기가 아니라 new = Hash(old ‖ 측정값) 방식으로 누적(extend)되므로, 중간에 한 번이라도 변조되면 최종 PCR 값이 완전히 달라진다. 즉 부팅 이력을 위조 불가능한 지문으로 압축한다.
다. 봉인(Sealing) — 데이터를 암호화하되 "특정 PCR 상태에서만 복호 가능"하도록 조건을 건다. 예컨대 디스크 암호화 키를 "정상 부팅 시의 PCR 값"에 봉인해 두면, 공격자가 부트로더를 바꿔 부팅한 경우 PCR이 달라져 키가 풀리지 않는다. 측정 결과를 실제 접근통제로 연결하는 장치다.
라. 원격 검증(Attestation) — TPM이 PCR 값들을 자신의 키로 서명(Quote)해 원격 서버에 제출하면, 서버는 그 기기가 신뢰할 수 있는 상태로 부팅되었는지 원격에서 판단한다. 제로트러스트에서 "이 디바이스를 믿어도 되는가"를 하드웨어 근거로 답하는 핵심 수단이다. 이 밖에 하드웨어 엔트로피 기반 난수생성(RNG) 도 제공한다.
| 기능 | 설명 | 해결하는 문제 |
|---|---|---|
| 키 생성·보관 | 개인키를 칩 내부에 격리, 원문 미노출 | 키 탈취·유출 |
| 무결성 측정(PCR) | 부팅 구성요소 해시를 누적 기록 | 부트킷·변조 은폐 |
| 봉인(Sealing) | 특정 플랫폼 상태에서만 복호 | 조작된 환경의 데이터 접근 |
| 원격 검증(Attestation) | PCR 서명값으로 상태 원격 증명 | 원격 신뢰 판단 |
| 난수생성(RNG) | 하드웨어 엔트로피 | 예측 가능한 키 |
3. 활용
TPM은 위 기능들이 결합되어 실제 보안 시나리오를 구현한다. 보안 부팅은 측정·봉인을 이용해 신뢰 사슬(Chain of Trust)을 세우고, 변조된 부트 구성요소로는 정상 부팅이 되지 않게 한다. 디스크 암호화의 대표 사례인 Windows BitLocker는 볼륨 키를 TPM에 봉인해, 디스크를 다른 PC로 옮기거나 부팅 환경을 바꾸면 자동 복호가 막힌다. 디바이스 인증에서는 칩에 심긴 키로 기기 고유 신원을 증명해 자격증명 탈취를 어렵게 하며, 기업 MDM·제로트러스트의 기기 신뢰 기반이 된다.
| 분야 | 활용 | 사용 기능 |
|---|---|---|
| 보안 부팅 | Measured/Secure Boot 신뢰 체인 | 측정·봉인 |
| 디스크 암호화 | BitLocker 볼륨키 보호 | 봉인 |
| 디바이스 인증 | 기기 신원·자격증명 보호 | 키 보관·검증 |
| 플랫폼 무결성 | Windows 11 요구, DRM | 측정·원격검증 |
4. 관련 개념 비교 — TPM vs HSM
둘 다 하드웨어 기반 키 보호 장치이지만 목적과 규모가 다르다. TPM은 개별 기기 한 대의 "플랫폼 신뢰·무결성"을 낮은 비용으로 보장하는 내장 칩이고, HSM(Hardware Security Module)은 데이터센터에서 대량의 키를 고성능으로 관리·서명하는 전용 어플라이언스다. 즉 TPM은 "이 PC를 믿을 수 있는가", HSM은 "은행 서명키를 안전하게 대량 운용하는가"에 초점이 있다.
| 구분 | TPM | HSM |
|---|---|---|
| 형태 | PC/서버 내장 칩 | 전용 어플라이언스 |
| 초점 | 플랫폼 신뢰·무결성(1대) | 대규모 키 관리·서명 |
| 성능/비용 | 저성능·저비용·보편 | 고성능·고비용 |
5. 고려사항 및 시사점
- 제로트러스트의 물리 앵커: "신뢰하되 검증"의 검증 근거를 하드웨어로 제공해, 디바이스 신뢰를 소프트웨어 선언이 아닌 측정·증명으로 대체한다.
- 키 백업·복구 정책 필수: 칩에 종속된 키는 강력하지만, 메인보드 교체·칩 고장 시 데이터가 영구 잠길 수 있어 복구 키(BitLocker 복구키 등) 보관 체계가 반드시 필요하다.
- 한계 인식: 펌웨어 취약점(예: 로직·구현 결함)이나 정교한 물리 공격(측정 버스 스니핑)에는 여전히 노출될 수 있으므로, TPM은 만능이 아니라 다층 방어의 한 층으로 다뤄야 한다.
- 확장 방향: 기밀 컴퓨팅(Confidential Computing), 원격 증명 기반 소프트웨어 공급망 보안 등으로 신뢰 뿌리의 역할이 넓어지고 있다.
한 줄 요약: TPM은 키 보관·무결성 측정(PCR)·봉인·원격검증 을 수행하는 하드웨어 보안 칩으로, "측정→봉인→증명"의 신뢰 사슬을 통해 보안 부팅·디스크 암호화·디바이스 인증의 신뢰 루트(Root of Trust) 를 제공하며 제로트러스트의 물리적 앵커가 된다.