증명 토큰 클레임


다음 표에서는 증명 토큰에서 지원되는 최상위 클레임을 설명합니다. 이러한 항목은 OpenID Connect 1.0 사양을 준수합니다.

증명 토큰에 대해 자세히 알아보기

유형 설명
헤더
x5c 문자열 PKI 토큰에만 있습니다. PKI 토큰을 검증할 인증서 체인입니다. PKI 토큰 유효성 검사 엔드포인트에서 루트 인증서를 다운로드할 수 있습니다.
JSON 데이터 페이로드
attester_tcb 문자열 배열

하나 이상의 TCB (신뢰할 수 있는 컴퓨팅 기반) 구성요소 이 주장은 증명 증거의 출처를 지정하기 위한 것입니다.

Confidential Space의 hwmodel claim "GCP_INTEL_TDX"의 경우 값이 ["INTEL"]로 설정되어 신뢰 증명 루트가 Intel 전용 하드웨어 기술에서 비롯되었음을 나타냅니다.

aud 문자열

시청자층 워크로드 아이덴티티 풀과 함께 사용되는 기본 토큰의 경우 대상은 https://sts.googleapis.com입니다. 이 토큰은 컨피덴셜 VM 인스턴스의 런처에 의해 매시간 가져옵니다.

맞춤 잠재고객이 있는 토큰의 경우 잠재고객이 토큰 요청의 잠재고객에서 에코됩니다. 최대 길이는 512바이트입니다.

dbgstat 문자열 하드웨어의 디버그 상태입니다. 프로덕션 이미지에서 값은 disabled-since-boot입니다. 디버그 이미지에서 값은 enabled입니다.
eat_nonce 문자열 또는 문자열 배열 증명 토큰의 nonce 1개 이상 값은 맞춤 토큰 요청에 전송된 토큰 옵션에서 에코됩니다. 각 nonce는 8~88바이트(양 끝값 포함)여야 합니다. nonce는 최대 6개까지 허용됩니다.
exp Int, Unix 타임스탬프 처리를 위해 토큰이 허용되지 않아야 하는 만료 시간입니다. 이 값은 UTC로 측정한 1970-01-01T0:0:0Z부터 만료 시간까지의 초 수를 나타내는 JSON 숫자입니다.
google_service_accounts 문자열 배열 Confidential Space 워크로드를 실행하는 확인된 서비스 계정입니다.
hwmodel 문자열

하드웨어 토큰의 고유 식별자입니다. 유효한 값은 다음과 같습니다.

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDX(미리보기)
iat Int, Unix 타임스탬프 JWT가 발급된 시간입니다. 이 값은 UTC로 측정한 1970-01-01T0:0:0Z부터 문제 발생 시간까지의 초 수를 나타내는 JSON 숫자입니다.
iss 문자열 토큰의 발급기관으로, https://confidentialcomputing.googleapis.com로 설정됩니다.
nbf Int, Unix 타임스탬프 JWT를 처리에 사용할 수 없는 시간입니다.
oemid Uint64 Google 비공개 기업 번호 (PEN)로, 11129입니다.
secboot 불리언 보안 부팅이 사용 설정되어 있는지 여부. 이로 인해 VM 부팅 프로세스 중에 펌웨어와 운영체제가 인증됩니다. 이 값은 항상 true입니다.
sub 문자열 컨피덴셜 VM의 정규화된 가상 머신 ID인 제목입니다. 예를 들면 https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID입니다. 이 형식을 인스턴스의 selfLink라고 합니다.
submods 배열 다양한 소유권 주장의 배열입니다. 하위 모드 소유권 주장을 참고하세요.
swname 문자열

VM에 대해 승인된 운영체제의 이름입니다.

값은 CONFIDENTIAL_SPACE 또는 GCE입니다. CONFIDENTIAL_SPACE 값은 모든 유효성 검사를 통과한 강화된 이미지에만 적용됩니다.

swversion 문자열 배열

운영체제의 버전입니다. 값은 하나의 값만 포함하는 문자열 배열입니다.

버전은 YYYYMM## 형식을 따르며 여기서 ##는 같은 달에 사용되는 이미지 전에 출시된 이미지 수를 나타내는 카운터입니다.

하위 모드 소유권 주장

다음 표에서는 증명 토큰의 submods 클레임을 설명합니다.

유형 설명
confidential_space.support_attributes 문자열 배열 값에는 USABLE, STABLE, LATEST이 포함될 수 있습니다. 자세한 내용은 Confidential Space 이미지 수명 주기를 참고하세요.
confidential_space.monitoring_enabled 객체 배열 사용 설정된 시스템 모니터링의 유형을 표시합니다. 값은 {"memory":false} 또는 {"memory":true}일 수 있습니다.
container 객체 워크로드 컨테이너 소유권 주장을 참고하세요.
gce 객체 Compute Engine 소유권 주장을 참고하세요.

워크로드 컨테이너 소유권 주장

다음 표에서는 증명 토큰의 container 클레임을 설명합니다. 이러한 클레임에 관한 자세한 내용은 증명 어설션을 참고하세요.

유형 설명
args 문자열 배열 컨테이너가 호출된 전체 argv입니다. 이 소유권 주장에는 컨테이너의 진입점 경로와 추가 명령줄 인수가 포함됩니다.
cmd_override 문자열 배열 워크로드 이미지에 사용되는 CMD 명령어 및 매개변수입니다.
env 객체 배열 컨테이너에 명시적으로 전달된 환경 변수 및 값입니다.
env_override 객체 배열 컨테이너에서 덮어쓴 환경 변수입니다.
image_digest 문자열 워크로드 컨테이너의 이미지 다이제스트입니다.
image_id 문자열 워크로드 컨테이너의 이미지 ID입니다.
image_reference 문자열 Confidential Space에서 실행되는 워크로드 컨테이너의 위치입니다.
image_signatures 객체 배열 컨테이너 이미지 서명 클레임을 참고하세요.
restart_policy 문자열 워크로드가 중지될 때 컨테이너 런처의 다시 시작 정책입니다. 유효한 값은 Always, OnFailure, Never입니다. 기본값은 Never입니다.

Compute Engine 소유권 주장

다음 표에서는 증명 토큰의 gce 클레임을 설명합니다.

유형 설명
instance_id 문자열 VM 인스턴스 ID입니다.
instance_name 문자열 VM 인스턴스 이름입니다.
project_id 문자열 VM이 실행 중인 프로젝트의 프로젝트 ID입니다.
project_number 문자열 VM이 실행 중인 프로젝트의 프로젝트 번호입니다.
zone 문자열 컨피덴셜 VM이 실행되는 Compute Engine 영역입니다.

컨테이너 이미지 서명 소유권 주장

다음 표에서는 증명 토큰의 image_signatures 클레임을 설명합니다.

유형 설명
key_id 문자열

공개 키의 16진수 디지털 지문입니다. 지문을 가져오려면 다음 명령어를 실행합니다.

openssl pkey -pubin -in public_key.pem -outform DER | openssl sha256

여기서 public_key.pem는 PEM 형식의 공개 키입니다.

signature 문자열 서명된 컨테이너와 연결되어 있으며 간단한 서명 형식을 따르는 페이로드의 base64로 인코딩된 서명입니다.
signature_algorithm 문자열

키에 서명하는 데 사용되는 알고리즘입니다. 다음 중 하나입니다.

  • RSASSA_PSS_SHA256 (SHA-256 다이제스트가 있는 RSASSA-PSS)
  • RSASSA_PKCS1V15_SHA256 (SHA-256 다이제스트가 있는 RSASSA-PKCS1 v1_5)
  • ECDSA_P256_SHA256 (P-256 곡선의 ECDSA, SHA-256 다이제스트)

다음 단계