Azure Confidential Computing에서 하드웨어 증명을 검증하는 방법
By Mirko Peters ·
Azure 하드웨어 증명의 작동 방식을 알아보고, AMD SEV-SNP와 Intel SGX를 비교하며, 암호화 검증을 CI/CD 파이프라인에 통합하는 방법을 살펴봅니다.
Automatically translated with AI from the original post. Read the English original

Azure 하드웨어 증명은 민감한 워크로드가 로드되기 전에 신뢰 실행 환경이 진짜이며 변조되지 않았음을 입증하는 핵심 암호화 검증 절차입니다. 보안 부팅 측정값과 하드웨어 키를 Microsoft 및 벤더의 기준선과 비교하여 평가함으로써, 증명은 클라우드 운영자와 테넌트 데이터 프라이버시 사이의 신뢰 격차를 메웁니다.
핵심 요약
- 하드웨어 증명은 신뢰 실행 환경(TEE)이 진짜이며 침해되지 않았음을 암호학적으로 검증합니다.
- 원격 증명 서비스는 복호화 키를 공개하기 전에 플랫폼 측정값을 보안 기준선과 비교하여 평가합니다.
- AMD SEV-SNP와 Intel SGX 아키텍처는 모두 원격 검증에 의존하여 클라우드 관리자가 사용 중인 메모리를 들여다볼 수 없도록 보장합니다.
- 증명을 CI/CD 배포 파이프라인에 통합하면 신뢰 검증이 자동화되고, 변조된 컨테이너가 시작되는 것을 막을 수 있습니다.
- 증명 핸드셰이크를 이해하는 것은 최신 하이브리드 클라우드 환경에서 제로 트러스트 태세를 유지하는 데 필수적입니다.
퍼블릭 클라우드의 신뢰 격차
민감한 워크로드를 퍼블릭 클라우드로 옮길 때, 기존 보안 모델은 전송 중인 데이터는 TLS로, 저장된 데이터는 AES-256 암호화로 보호합니다. 그러나 여전히 중대한 취약점이 남아 있습니다. 바로 사용 중인 데이터입니다. 지금까지 프로세서가 코드를 실행할 때마다 해당 데이터는 복호화되어 시스템 메모리에 평문으로 놓여야 했습니다. 다중 테넌트 클라우드 환경에서는 이것이 하이퍼바이저, 클라우드 인프라 제공업체, 그리고 기반 물리 하드웨어에 대한 관리자 권한을 가진 모든 사람을 신뢰해야 한다는 뜻이었습니다.
Azure Confidential Computing은 하드웨어 기반 신뢰 실행 환경(TEE)을 도입하여 이러한 패러다임을 바꿉니다. 이 보안 enclave와 격리된 가상 머신은 CPU 실리콘이 직접 관리하는 전용 하드웨어 키로 메모리 내용을 암호화합니다. 하지만 잠긴 방을 갖추는 것은 절반의 해법일 뿐입니다. 암호화 키를 넘기기 전에, 자물쇠가 따이지 않았는지, 문이 올바르게 구성되었는지, 그리고 보안 경계 안에서 승인되지 않은 소프트웨어가 실행되고 있지 않은지 확인할 방법도 필요합니다.
원격 증명의 작동 방식
원격 증명은 근본적인 질문에 답하는 검증 메커니즘입니다. 배포하려는 클라우드 환경이 실제로 안전하며 변조되지 않았다는 것을 어떻게 알 수 있을까요? 증명이 없다면, 하이퍼바이저 수준의 접근 권한을 가진 공격자는 이론적으로 악성 BIOS를 바꿔 치기하거나 부트로더를 수정하여, 암호화 키가 메모리에 로드되는 순간 이를 가로챌 수 있습니다.
증명 워크플로는 엄격한 다단계 암호화 핸드셰이크로 작동합니다.
1단계: 보안 부팅 및 플랫폼 측정
Azure 기밀 가상 머신이나 컨테이너 인스턴스가 부팅될 때, 하드웨어와 펌웨어는 부팅 과정에 관여하는 모든 구성 요소의 암호화 측정값을 기록합니다. 여기에는 부트로더, 커널 이미지, 초기 램디스크가 포함됩니다. 이 측정값은 CPU 내부의 하드웨어 레지스터에 안전하게 저장되며, 호스트 운영 체제나 하이퍼바이저가 수정할 수 없습니다.
2단계: 암호화 보고서 생성
워크로드가 TEE 내부에서 초기화되면, 워크로드는 CPU에 하드웨어 서명이 된 보고서를 요청합니다. 프로세서는 제조 공장에서 실리콘에 심어진, 하드코딩되어 변경할 수 없는 개인 키로 이 측정 보고서에 서명합니다. 이 보고서는 격리된 환경 안에서 실행 중인 소프트웨어 스택의 정확한 상태를 나타내는, 위조할 수 없는 디지털 여권 역할을 합니다.
3단계: Azure Attestation 서비스 평가
하드웨어 서명 보고서는 Microsoft Azure Attestation(MAA) 서비스 또는 호환되는 타사 검증기로 전송됩니다. 증명 서비스는 수신된 측정값을 테넌트가 정의한 신뢰할 수 있는 기준 정책과 비교합니다. Enclave에서 실행 중인 코드가 승인된 정책과 일치하면, 서비스는 증명 토큰을 발급합니다.
4단계: 비밀 정보 공개
유효한 증명 토큰을 확보한 애플리케이션은 Key Vault Managed HSM에서 데이터베이스 자격 증명, TLS 인증서, 데이터 암호화 키를 안전하게 요청할 수 있습니다. Key Vault는 토큰을 검증한 뒤에만 검증된 TEE에 비밀 정보를 공개하므로, 승인되지 않은 환경은 일반 텍스트 데이터에 절대 접근할 수 없습니다.
아키텍처 차이: AMD SEV-SNP 대 Intel SGX
증명을 구현하려면 Azure 기밀 컴퓨팅 노드를 구동하는 기반 하드웨어 아키텍처를 이해해야 합니다. Microsoft Azure는 두 가지 주요 하드웨어 기술을 지원하며, 각각 격리와 증명을 조금씩 다르게 처리합니다.
Intel Software Guard Extensions(SGX)는 프로세스 수준 격리에 중점을 둡니다. SGX는 가상 머신 전체를 보호하는 대신, 개발자가 특정 코드와 데이터 구조를 세분화된 enclave로 격리할 수 있게 합니다. SGX의 증명은 하드웨어 상태를 검증 가능한 쿼트로 패키징하는 quoting enclave에 크게 의존하며, 이 쿼트는 Intel's Enhanced Privacy ID(EPID) 또는 최신 Data Center Attestation Primitives(DCAP) 인프라를 통해 검증됩니다.
반면 AMD Secure Encrypted Virtualization-Secure Nested Paging(SEV-SNP)은 가상 머신 전체를 보호합니다. SEV-SNP는 하드웨어 기반 메모리 암호화를 활용해 메모리 무결성을 보장하고, 악의적인 하이퍼바이저가 게스트 물리 주소를 재매핑하지 못하도록 막습니다. AMD SEV-SNP VM이 생성한 증명 보고서에는 게스트 정책 구성과 시작 측정값이 포함되어 있어, enclave 전용 API에 맞게 코드를 다시 작성하지 않고도 기존 컨테이너화된 애플리케이션을 lift-and-shift 방식으로 손쉽게 옮길 수 있습니다.
CI/CD 파이프라인에 증명 구현하기
클라우드 아키텍트와 DevOps 엔지니어에게 증명 보고서를 수동으로 검증하는 방식은 확장성도 없고 실용적이지도 않습니다. 탄력적인 클라우드 인프라를 구축하려면 증명을 자동화된 배포 파이프라인에 깊이 통합해야 합니다.
기밀 노드를 사용하여 Azure Kubernetes Service(AKS)에서 실행되는 최신 컨테이너 배포는 사이드카 컨테이너나 디바이스 플러그인을 활용해 증명 핸드셰이크를 자동으로 관리할 수 있습니다. 기밀 파드가 시작되면 증명 클라이언트가 하드웨어 보고서를 가져와 Azure Attestation 서비스에 제출하고, 결과 토큰을 캐시합니다. 토큰이 검증되어야만 애플리케이션 컨테이너가 보안 볼륨을 마운트하고 요청 처리를 시작합니다.
릴리스 게이트에 증명 검사를 포함하면, 의도적이든 실수든 승인되지 않은 코드 변경이 발생할 경우 하드웨어 측정값이 즉시 무효화됩니다. 이로써 키 공개 과정이 중단되고, 손상된 워크로드가 프로덕션 환경에서 실행되는 것도 막을 수 있습니다.
결론: 지금 사용 중인 데이터를 보호하는 방법
Azure Confidential Computing은 최신 인프라 위협으로부터 민감한 클라우드 워크로드를 보호하는 데 필요한 기술 기반을 제공합니다. 다만 하드웨어 격리만으로는 충분하지 않으며, 엄격한 검증이 함께 뒷받침되어야 합니다. 원격 증명(remote attestation)을 제대로 이해하면 클라우드 아키텍트는 테넌트 코드와 베어메탈 하드웨어 사이에 검증 가능한 신뢰를 구축할 수 있으며, 이를 통해 사용 중인 데이터도 저장 중이거나 전송 중인 데이터만큼 안전하게 유지됩니다. 이러한 클라우드 보안 개념을 종합적으로 설명한 내용을 듣고 더 넓은 Microsoft 365 및 Azure 환경을 살펴보시려면 M365 FM Podcast의 전체 에피소드를 들어보십시오.
자주 묻는 질문
Azure Attestation의 주된 목적은 무엇입니까?
Azure Attestation은 신뢰 실행 환경(Trusted Execution Environment)의 신뢰성을 암호학적으로 검증하고, 비밀 정보나 암호화 키가 공개되기 전에 그 안에서 실행되는 소프트웨어의 무결성을 확인하는 통합 클라우드 서비스입니다.
클라우드 관리자가 하드웨어 증명을 우회할 수 있습니까?
아니요. 하드웨어 증명은 하드웨어 제조사가 CPU 실리콘에 직접 심어 둔 암호화 키에 의존합니다. 이 키는 하이퍼바이저와 클라우드 운영자가 접근할 수 없으므로, 관리자는 손상된 환경에 대해 유효한 증명 보고서를 위조할 수 없습니다.
VM 수준 증명과 프로세스 수준 증명의 차이점은 무엇입니까?
VM 수준 증명(예: AMD SEV-SNP)은 가상 머신의 운영 체제 전체와 그 위에서 실행되는 워크로드를 측정하고 검증합니다. 프로세스 수준 증명(예: Intel SGX)은 표준 운영 체제 환경 안에서 특정 코드 루틴이나 엔클레이브를 격리하고 증명합니다.
증명 토큰은 Azure Key Vault와 어떻게 연동됩니까?
기밀 워크로드가 증명 핸드셰이크를 성공적으로 마치면 서명된 토큰을 받습니다. 이 토큰을 Azure Key Vault Managed HSM에 제시하여 환경의 무결성을 입증하면, 암호화 키와 데이터베이스 자격 증명이 자동으로 공개됩니다.