Google Cloud 증명

증명은 컨피덴셜 컴퓨팅의 신뢰를 구축하는 프로세스입니다. 증명은 디지털 검증 메커니즘으로 작동하여 컨피덴셜 데이터가 엄격하게 검증된 하드웨어 기반 신뢰할 수 있는 실행 환경(TEE) 내에서만 처리되도록 합니다.

Google Cloud 증명은 모든 Google 컨피덴셜 환경의 신뢰성을 원격으로 검증하기 위한 통합 솔루션을 제공합니다. 이 서비스는 SEV의 가상 신뢰 플랫폼 모듈 (vTPM)과 Intel TDX의 TDX 모듈로 지원되는 컨피덴셜 환경의 증명을 지원합니다.

Google Cloud 증명은 다음 서비스에 적용할 수 있습니다. Google Cloud

컨피덴셜 컴퓨팅 서비스 컨피덴셜 컴퓨팅 기술 Google Cloud Attestation 지원
컨피덴셜 VM AMD SEV
컨피덴셜 VM AMD SEV-SNP
컨피덴셜 VM Intel TDX
Confidential Space AMD SEV
Confidential Space Intel TDX
Confidential GKE Node AMD SEV

Google Cloud 증명이 편리하지만 오픈소스 도구를 사용하여 컨피덴셜 VM 인스턴스의 증명 보고서를 직접 가져올 수도 있습니다. 자세한 내용은 증명 보고서 요청을 참고하세요.

Google Cloud Attestation 작동 방식

Google Cloud 증명은 하드웨어 공급업체로부터 직접 추천을 내부적으로 수집하고 각 컨피덴셜 환경에 맞게 특별히 조정된 자체 참조 값 및 평가 정책을 유지합니다. Google Cloud 사용자가 증명 결과 클레임 토큰을 가져올 수 있는 API를 제공합니다.

Google Cloud 증명은 컨피덴셜 환경에서 정보를 수집하고 승인된 값 및 Google에서 유지관리하는 정책과 비교하여 확인합니다. 이러한 검사는 IETF 원격 증명 절차 (RATS) 엔티티 증명 토큰 (EAT) 표준을 준수하는 검증 가능한 클레임으로 변환됩니다. 그런 다음 Google Cloud 증명은 Secret Manager 및 Google Identity and Access Management (IAM)과 같이 이러한 클레임을 사용하는 서비스에서 사용할 수 있는 이러한 클레임의 암호화 증명을 제공합니다.

암호화 증명은 다음과 같은 방식으로 검증할 수 있습니다.

  1. 공개 키 사용 자세한 내용은 OIDC 토큰을 참고하세요. 이 옵션은 더 간단하며 OIDC 호환 애플리케이션과 기본적으로 작동합니다.

  2. 루트 인증서 사용 자세한 내용은 PKI 토큰을 참고하세요. 이 옵션을 사용하면 각 신뢰 당사자가 확인 키를 검색하지 않아도 오프라인 확인이 가능합니다. 오프라인 검증의 엔드 투 엔드 예시는 클라우드 제공업체에 저장되지 않은 보호된 리소스와 함께 Confidential Space 사용 Codelab을 참고하세요.

RATS 아키텍처 개요

원격 증명 절차 (RATS) 아키텍처에는 다음 기본 항목이 포함됩니다.

  • 증명자: 신뢰성을 입증하는 증거를 제공하는 항목입니다.Google Cloud에서는 컨피덴셜 환경 (예: 컨피덴셜 VM, Confidential GKE Node 또는 Confidential Space)입니다.

  • 검증자: 증거를 평가하고 증명 결과를 생성하는 항목입니다. Google Cloud Attestation입니다.

  • 신뢰 당사자: 증명 결과를 기반으로 결정을 내리는 항목(예: 모바일 앱, 스토리지 버킷, 키 관리 시스템)

RATS 아키텍처에는 다음과 같은 주요 역할이 포함됩니다.

  • 신뢰 당사자 소유자: 신뢰 당사자의 평가 정책을 구성하는 항목입니다.

  • 인증 기관 소유자: 인증 기관(예: Google)의 평가 정책을 구성하는 법인입니다.

  • 보증인: 증명자의 기능을 검증하는 보증을 제공하는 항목 (예: AMD, Intel, Nvidia와 같은 하드웨어 OEM)입니다.

  • 참조 값 제공자: 증명자의 주장을 검증자가 검증할 수 있도록 참조 값을 제공하는 항목입니다.

여권 모델 증명 워크플로

Google Cloud Attestation은 여권 모델을 사용합니다. 여권 모델의 상위 수준 워크플로에는 다음 단계가 포함됩니다.

  1. 증명자 (컨피덴셜 환경)는 증거를 제공하여 검증자 (Google Cloud 증명)에게 증명 결과를 요청합니다.

  2. 확인자는 증거를 평가하고 증명 결과를 발급합니다.

  3. 증명자는 이 결과를 신뢰 당사자에게 제공합니다.

이 워크플로에서 Google Cloud Attestation은 검증자 역할을 합니다. 컨피덴셜 환경 (예: 컨피덴셜 VM, Confidential GKE Node, Confidential Space)이 증명자 역할을 합니다. 신뢰 당사자에는 Thales EKM, Google IAM, 기타 토큰 브로커가 포함됩니다.

증명 결과의 최신성을 보장하기 위해 Google Cloud 증명은 재사용할 수 없는 암호화된 숫자를 사용합니다. 증명자는 신뢰 당사자와 합의된 난수를 검증자에게 제공할 수 있습니다. 그러면 신뢰 당사자가 이 번호를 검증하여 최신 상태인지 정확한지 확인할 수 있습니다.