TPM 내부에서 TLS 핸드셰이크 서명하기

Signing TLS handshakes inside a TPM

이 글은 기밀 VM에서 원격 증명 작업을 하는 저자가 TPM을 사용하여 상호 TLS 인증을 구현하는 방법을 설명합니다. 디스크에 저장된 클라이언트 키는 메모리 덤프나 하이퍼바이저 스냅샷을 통해 탈취될 수 있는 반면, TPM은 키를 외부로 노출하지 않고 서명만 수행하므로 더 안전합니다. 저자는 파일 권한, 단기 인증서, KMS 등 대안을 비교하고, TPM이 키를 하드웨어에 바인딩하고 추가 자격 증명 없이 접근 가능한 유일한 방법임을 강조합니다. 또한 Go의 crypto.Signer 인터페이스를 통해 TPM 서명을 TLS 스택에 통합하는 방법과, 인증서의 공개 키를 사용하여 TPM 핸들을 자동으로 찾는 설계 결정을 설명합니다.

파일에 있는 키는 실제로 머신의 신원이 아닙니다. 그것은 우연히 머신에 저장된 전달자 자격 증명일 뿐이며, 그것을 읽는 사람은 누구든지 그 머신이 되는 것입니다.

이 날의 다른 글

2026-09-07