TPM
IT 위키
더 많은 작업
- Trusted Platform Module; 신뢰 플랫폼 모듈
- 보안 측면에서 민감한 암호 연산을 하드웨어로 이동함으로써 시스템 보안을 향상시키고자 나온 개념으로, TCG 컨소시엄에 의해 작성된 표준
- TCG(Trusted Computing Group, 신뢰 컴퓨팅 그룹)가 규격을 정하고, ISO/IEC 11889 로 국제 표준이 되었다. 현재 규격은 TPM 2.0 이다.
- 메인보드에 붙은 별도 칩(dTPM)으로 구현하는 것이 기본이고, CPU 의 보안 영역에서 펌웨어로 구현하기도 한다(fTPM).
- 키가 칩 밖으로 나가지 않으므로 운영체제가 장악당해도 키를 빼내기 어렵다.
- 윈도우 11 은 TPM 2.0 을 설치 요건으로 둔다. BitLocker, Windows Hello, 보안 부팅 측정이 TPM 을 쓴다.
- 키 생성과 보관 : RSA·ECC 키를 칩 안에서 만들고, 개인키는 칩 밖으로 내보내지 않는다.
- 난수 생성 : 하드웨어 난수 발생기를 갖고 있다.
- 암호화·복호화·서명 : 칩 안의 키로 연산한다.
- 인증된 부트(Authenticated Boot, 측정 부트) : 부팅 단계마다 다음에 실행될 코드의 해시를 PCR(Platform Configuration Register)에 누적 기록한다. 부팅 과정이 변조되면 PCR 값이 달라진다.
- 원격 증명(Remote Attestation) : PCR 에 기록된 플랫폼 설정 정보를 TPM 의 증명용 키로 서명해 외부에 보내, 이 기기가 변조되지 않은 상태임을 증명한다.
- 봉인(Sealing) : 데이터를 특정 PCR 값과 묶어 암호화한다. 부팅 상태가 같을 때만 풀린다. BitLocker 가 디스크 키를 이렇게 보관한다.
| 키 | 역할 |
|---|---|
| EK(Endorsement Key, 보증키) | 제조 때 칩마다 만들어 넣는 고유 키 쌍. 이 TPM 이 진짜임을 나타낸다 |
| SRK(Storage Root Key, 저장 루트 키) | TPM 이 보호하는 다른 키들을 감싸는 최상위 키 |
| AIK(Attestation Identity Key, 증명 키) | 원격 증명에서 PCR 값에 서명하는 키. EK 를 직접 쓰면 기기가 추적되므로 별도로 둔다 |
플랫폼 설정 정보에 서명하는 것은 TPM 의 개인키(증명 키의 개인키)다. 공개키는 서명을 검증하는 쪽이 쓴다. 공개키로 서명한다는 설명은 틀렸다.