Microsoft Azure Attestation
Microsoft Azure Attestation은 플랫폼의 신뢰성과 플랫폼 내부에서 실행되는 이진 파일의 무결성을 원격으로 확인하기 위한 통합 솔루션입니다. 이 서비스는 Intel® SGX(Software Guard Extensions) enclave, VBS(가상화 기반 보안) enclave, TPM(신뢰할 수 있는 플랫폼 모듈), Azure VM에 대한 신뢰할 수 있는 시작 및 Azure 기밀 VM과 같은 TEE(신뢰 실행 환경) 상태를 증명하는 기능과 함께 TPM(신뢰할 수 있는 플랫폼 모듈)이 지원하는 플랫폼 증명을 지원합니다.
증명은 소프트웨어 이진 파일이 신뢰할 수 있는 플랫폼에서 올바르게 인스턴스화되었음을 보여주는 프로세스입니다. 그러면 원격 신뢰 당사자가 이러한 의도된 소프트웨어만 신뢰할 수 있는 하드웨어에서 실행된다고 확신할 수 있습니다. Azure Attestation은 증명을 위한 통합 고객 지향 서비스 및 프레임워크입니다.
Azure Attestation을 사용하면 Azure 기밀 컴퓨팅 및 인텔리전트 에지 보호와 같은 최첨단 보안 패러다임을 사용할 수 있습니다. 고객은 컴퓨터의 위치, 해당 컴퓨터의 VM(가상 머신) 상태 및 해당 VM에서 enclave가 실행되는 환경을 독립적으로 확인할 수 있는 기능을 요청했습니다. Azure Attestation은 이러한 고객 요청과 추가적으로 많은 요청을 처리합니다.
Azure Attestation은 컴퓨팅 엔터티로부터 증거를 받고, 이를 클레임 세트로 전환하며, 구성 가능한 정책에 대해 유효성을 검사하고, 클레임 기반 애플리케이션(예: 신뢰 당사자 및 감사 기관)에 대한 암호화 증명을 생성합니다.
Azure Attestation은 AMD SEV-SNP 기반 CVM(기밀 VM)의 플랫폼 및 게스트 증명을 모두 지원합니다. Azure Attestation 기반 플랫폼 증명은 CVM의 중요한 부팅 경로 중에 자동으로 수행되고 고객 작업이 필요하지 않습니다. 게스트 증명에 대한 자세한 내용은 기밀 VM에 대한 게스트 증명의 일반 공급 발표를 참조하세요.
사용 사례
Azure Attestation은 여러 환경 및 고유한 사용 사례에 대한 포괄적인 증명 서비스를 제공합니다.
기밀 VM의 AMD SEV-SNP 증명
Azure CVM(기밀 VM)은 SEV-SNP 기술을 사용하는 AMD 프로세서를 기반으로 합니다. CVM은 플랫폼 관리형 키 또는 고객 관리형 키를 사용하여 VM OS 디스크 암호화 옵션을 제공하고 디스크 암호화 키를 가상 머신의 TPM에 바인딩합니다. CVM이 부팅되면 게스트 VM 펌웨어 측정이 포함된 SNP 보고서가 Azure Attestation에 전송됩니다. 이 서비스는 측정의 유효성을 검사하고 Managed-HSM 또는 Azure Key Vault에서 키를 릴리스하는 데 사용되는 증명 토큰을 발급합니다. 이러한 키는 게스트 VM의 vTPM 상태를 해독하고, OS 디스크의 잠금을 해제하고, CVM을 시작하는 데 사용됩니다. 증명 및 키 릴리스 프로세스는 각 CVM 부팅에서 자동으로 수행되며, 이 프로세스는 하드웨어를 성공적으로 증명한 경우에만 CVM이 부팅되도록 합니다.
기밀 컨테이너의 AMD SEV-SNP 증명
Azure 기밀 컨테이너는 SEV-SNP 기술을 탑재한 AMD 프로세서를 기반으로 합니다. Azure Container Instances 및 Azure Kubernetes Service(미리 보기)에 호스트된 기밀 컨테이너는 컨테이너 그룹을 컨테이너 관리 컨트롤 플레인 및 다른 실행 중인 컨테이너에서 격리하는 SEV-SNP로 보호된 신뢰할 수 있는 실행 환경에서 컨테이너 그룹을 실행하는 기능을 제공합니다. 기밀 컨테이너의 증명에는 프로세서에서 직접 AMD 하드웨어 증명 보고서를 가져오는 것이 포함됩니다. 이 작업은 SKR 사이드카 컨테이너를 사용하여 수행하거나 애플리케이션 논리에 직접 컴파일할 수 있습니다. 그런 다음 하드웨어 보고서를 Azure Attestation 및 관리되는 HSM 또는 프리미엄 AKV(Azure Key Vault)와 교환하여 비밀을 검색할 수 있습니다. 원하는 경우 하드웨어 보고서를 자체 키 자격 증명 모음 시스템에 제공할 수도 있습니다.
신뢰할 수 있는 시작 증명
Azure 고객은 VM(가상 머신)에 대해 신뢰할 수 있는 시작을 사용하도록 설정하여 부트킷 및 루트킷 감염을 방지할 수 있습니다. VM에서 보안 부팅 및 vTPM이 사용하도록 설정되고 게스트 증명 확장이 설치된 경우 부팅 무결성을 모니터링하기 위해 vTPM 측정이 주기적으로 Azure Attestation에 제출됩니다. 증명 실패는 경고 및 권장 사항을 통해 클라우드용 Microsoft Defender를 통해 고객에게 표시되는 잠재적인 맬웨어를 나타냅니다.
TPM 증명
TPM(신뢰할 수 있는 플랫폼 모듈) 기반 증명은 플랫폼의 상태를 증명하는 데 중요합니다. TPM은 신뢰의 루트이자 보안 보조 프로세서의 역할을 하여 측정에 대한 암호화 유효성(증거)을 제공합니다. TPM이 있는 디바이스는 증명을 사용하여 부팅 무결성이 손상되지 않았음을 증명하고 클레임을 사용하여 부팅 중 기능 상태를 검색할 수 있습니다.
클라이언트 애플리케이션은 보안에 중요한 작업을 플랫폼이 안전한 것으로 확인된 후에만 수행되도록 위임하여 TPM 증명을 활용하도록 디자인할 수 있습니다. 그런 다음, 이러한 애플리케이션은 Azure Attestation을 사용하여 플랫폼에서 정기적으로 트러스트를 설정하고 중요한 데이터에 액세스할 수 있습니다.
SGX enclave 증명
Intel® SGX(Software Guard Extensions)는 특정 Intel CPU 모델에서 지원되는 하드웨어 등급 격리를 나타냅니다. SGX를 사용하면 코드를 SGX enclave라는 삭제된 구획에서 실행할 수 있습니다. 그런 다음, 하드웨어에서 액세스 및 메모리 권한을 관리하여 적절한 격리를 통해 공격 노출 영역을 최소화합니다.
클라이언트 애플리케이션은 보안에 중요한 작업을 SGX enclave 내에서 수행하도록 위임하여 이러한 enclave를 활용하도록 설계할 수 있습니다. 그런 다음, 이러한 애플리케이션은 Azure Attestation을 사용하여 enclave에서 정기적으로 트러스트를 설정하고 중요한 데이터에 액세스할 수 있습니다.
Intel® Xeon® 스케일러블 프로세서는 ECDSA 기반 증명 솔루션을 사용한 SGX enclave 원격 증명만 지원합니다. ECDSA 기반 증명 모델을 활용하여 Azure Attestation은 Intel® Xeon® E3 프로세서 및 Intel® Xeon® 스케일러블 프로세서 기반 서버 플랫폼의 유효성 검사를 지원합니다.
참고 항목
Azure Attestation을 사용하여 Intel® Xeon® 스케일러블 프로세서 기반 서버 플랫폼 증명을 수행하려면 사용자가 Azure DCAP 버전 1.10.0 이상을 설치해야 합니다.
Open Enclave 증명
OE(Open Enclave)는 개발자가 TEE 기반 애플리케이션을 빌드하는 데 사용할 수 있는 단일 통합 enclave 추상화를 만들기 위한 라이브러리의 컬렉션입니다. 플랫폼 특정성을 최소화하는 범용 보안 앱 모델을 제공합니다. Microsoft는 이를 SGX와 같은 하드웨어 기반 enclave 기술을 대중화하고 Azure에서 더 많이 활용할 수 있도록 하기 위한 필수적인 디딤돌로 보고 있습니다.
OE는 enclave 증거를 확인하기 위한 특정 요구 사항을 표준화합니다. 이를 통해 OE는 Azure Attestation의 매우 적합한 증명 소비자로 인정됩니다.
TEE에서 실행되는 Azure Attestation
Azure Attestation은 다음 작업을 수행하므로 기밀 컴퓨팅 시나리오에 매우 중요합니다.
- enclave 증거가 유효한지 확인합니다.
- 고객이 정의한 정책에 대해 enclave 증거를 평가합니다.
- 테넌트별 정책을 관리하고 저장합니다.
- 신뢰 당사자가 enclave와 상호 작용하는 데 사용하는 토큰을 생성하고 서명합니다.
Microsoft가 TCB(신뢰할 수 있는 컴퓨팅 기반) 운영에 개입하지 않도록 하기 위해 견적 유효성 검사, 토큰 생성, 정책 평가 및 토큰 서명과 같은 Azure Attestation의 중요한 작업이 SGX enclave로 이동됩니다.
Azure Attestation을 사용하는 이유
Azure Attestation은 다음과 같은 이점을 제공하므로 TEE를 증명하는 데 기본적으로 선택됩니다.
- TPM, SGX enclave 및 VBS enclave와 같은 여러 환경을 증명하기 위한 통합 프레임워크
- 사용자 지정 증명 공급자를 만들고 정책을 구성하여 토큰 생성을 제한할 수 있음
- AMD SEV-SNP를 기반으로 SGX enclave 또는 기밀 가상 머신을 구현하여 사용 중인 데이터를 보호합니다.
- 고가용성 서비스
Azure Attestation을 사용하여 신뢰를 설정하는 방법
- 증명 토큰이 Azure Attestation에서 생성되는지 확인 - Azure Attestation에서 생성된 증명 토큰은 자체 서명된 인증서를 사용하여 서명됩니다. 서명 인증서 URL은 OpenID 메타데이터 엔드포인트를 통해 노출됩니다. 신뢰 당사자는 서명 인증서를 검색하고 증명 토큰의 서명 확인을 수행할 수 있습니다. 자세한 내용은 코드 샘플을 참조하세요.
- Azure Attestation이 SGX enclave 내에서 실행 중인지 확인 - 토큰 서명 인증서에는 Azure Attestation이 실행되는 TEE의 SGX 견적이 포함됩니다. 신뢰 당사자가 Azure Attestation이 유효한 SGX enclave 내에서 실행되고 있는지 확인하는 것을 선호하는 경우 서명 인증서에서 SGX 견적을 검색하고 로컬로 유효성을 검사할 수 있습니다. 자세한 내용은 코드 샘플을 참조하세요.
- 증명 토큰에 서명한 키를 사용하여 Azure Attestation SGX 견적의 바인딩 유효성 검사 – 신뢰 당사자는 증명 토큰에 서명한 공개 키의 해시가 Azure Attestation SGX 견적의 보고서 데이터 필드와 일치하는지 확인할 수 있습니다. 자세한 내용은 코드 샘플을 참조하세요.
- Azure Attestation 코드 측정이 Azure에 게시된 값과 일치하는지 확인 - 증명 토큰 서명 인증서에 포함된 SGX 견적에는 MRSIGNER와 같은 Azure Attestation의 코드 측정이 포함됩니다. 신뢰 당사자가 SGX 견적이 Azure 내에서 실행되는 Azure Attestation에 속하는지 확인하려는 경우 증명 토큰 서명 인증서의 SGX 견적에서 MRSIGNER 값을 검색하고 Azure Attestation 팀에서 제공하는 값과 비교할 수 있습니다. 이 유효성 검사를 수행하려면 Azure 지원 페이지에서 요청을 제출합니다. Azure Attestation 팀은 MRSIGNER를 회전할 계획일 때 연락을 드립니다.
Azure Attestation의 Mrsigner는 코드 서명 인증서가 회전될 때 변경될 것으로 예상됩니다. Azure Attestation 팀은 모든 mrsigner 회전에 대해 아래 출시 일정을 따릅니다.
i. Azure Attestation 팀은 관련 코드를 변경하기 위해 2개월 유예 기간을 두고 예정된 MRSIGNER 값을 알립니다.
ii. 2개월 유예 기간이 지나면 Azure Attestation이 새 MRSIGNER 값 사용을 시작합니다.
iii. 3개월 후 알림 날짜에 Azure Attestation이 이전 MRSIGNER 값 사용을 중지합니다.
BCDR(비즈니스 연속성 및 재해 복구) 지원
Azure Attestation용 BCDR(비즈니스 연속성 및 재해 복구)을 사용하면 지역의 심각한 가용성 문제 또는 재해 이벤트로 인한 서비스 중단을 완화할 수 있습니다.
두 지역에 배포된 클러스터는 정상적인 환경에서 독립적으로 작동합니다. 한 지역에서 오류가 발생하거나 중단되는 경우 수행되는 작업은 다음과 같습니다.
- Azure Attestation BCDR은 고객이 복구하기 위해 추가 단계를 수행할 필요가 없는 원활한 장애 조치(failover)를 제공합니다.
- 지역의 Azure Traffic Manager는 상태 프로브가 저하되었음을 감지하고 엔드포인트를 쌍으로 연결된 지역으로 전환합니다.
- 기존 연결이 작동하지 않고 내부 서버 오류 또는 시간 제한 문제가 발생합니다.
- 모든 컨트롤 플레인 작업이 차단됩니다. 고객은 주 지역에서 증명 공급자를 만들 수 없습니다.
- 증명 호출 및 정책 구성을 비롯한 모든 데이터 평면 작업은 보조 지역에서 제공됩니다. 고객은 주 지역에 해당하는 원래 URI를 사용하여 데이터 평면 작업을 계속할 수 있습니다.