Attestierungstoken-Anfragen


Ansprüche der obersten Ebene

In der folgenden Tabelle werden die Behauptungen der obersten Ebene im Attestierungstoken beschrieben. Diese Elemente entsprechen der OpenID Connect 1.0-Spezifikation.

Weitere Informationen zu Attestierungstokens

Schlüssel Typ Beschreibung
Header
x5c String Nur in PKI-Tokens vorhanden. Die Zertifikatskette, mit der PKI-Tokens validiert werden sollen. Sie können das Root-Zertifikat vom PKI-Token-Validierungsendpunkt herunterladen.
JSON-Daten-Nutzlast
attester_tcb String-Array

Eine oder mehrere TCB-Komponenten (Trusted Computing Base). Mit diesem Anspruch wird die Quelle für die Attestierungsnachweise angegeben.

Für hwmodel claim "GCP_INTEL_TDX" in Confidential Space ist der Wert auf ["INTEL"] festgelegt. Das bedeutet, dass der Attestation Root of Trust von einer Intel-spezifischen Hardwaretechnologie stammt.

aud String

Die Zielgruppe. Für das Standardtoken, das mit einem Workload Identity-Pool verwendet wird, ist die Zielgruppe https://sts.googleapis.com. Dieses Token wird jede Stunde vom Launcher in der Confidential VM-Instanz abgerufen.

Bei Tokens mit benutzerdefinierten Zielgruppen wird die Zielgruppe aus der Zielgruppe in der Tokenanfrage übernommen. Die maximale Länge beträgt 512 Bytes.

dbgstat String Der Debugging-Status der Hardware. In Produktions-Images ist der Wert disabled-since-boot. In Debug-Bildern ist der Wert enabled.
eat_nonce String oder String-Array Einen oder mehrere Nounces für das Attestierungstoken. Die Werte werden aus den Tokenoptionen übernommen, die in der benutzerdefinierten Tokenanfrage gesendet wurden. Jeder Nonce muss zwischen 8 und 88 Byte lang sein (einschließlich). Es sind maximal sechs Nounces zulässig.
exp Int, Unix-Zeitstempel Die Ablaufzeit, nach der das Token nicht mehr für die Verarbeitung akzeptiert werden darf. Der Wert ist eine JSON-Zahl, die die Anzahl der Sekunden ab 1970-01-01T0:0:0Z bis zum Ablaufdatum in UTC angibt.
google_service_accounts String-Array Die validierten Dienstkonten, mit denen die Confidential Space-Arbeitslast ausgeführt wird.
hwmodel String

Die eindeutige Kennung für das Hardware-Token. Muss einer der folgenden Werte sein:

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDX
https://aws.amazon.com/tags Objekt Weitere Informationen finden Sie unter AWS-Hauptkontotag-Ansprüche.
iat Int, Unix-Zeitstempel Der Zeitpunkt, zu dem das JWT ausgestellt wurde. Der Wert ist eine JSON-Zahl, die die Anzahl der Sekunden ab 1970-01-01T0:0:0Z bis zum Zeitpunkt des Problems in UTC darstellt.
iss String Der Aussteller des Tokens, der auf https://confidentialcomputing.googleapis.com gesetzt ist.
nbf Int, Unix-Zeitstempel Die Zeit, nach der das JWT verarbeitet werden darf. Der Wert ist eine JSON-Zahl, die die Anzahl der Sekunden ab 1970-01-01T0:0:0Z in UTC angibt.
oemid Uint64 Die Private Enterprise Number (PEN) von Google ist 11129.
secboot Boolesch Ob Secure Boot aktiviert ist. Dadurch wird dafür gesorgt, dass die Firmware und das Betriebssystem während des VM-Bootvorgangs authentifiziert werden. Dieser Wert ist immer true.
sub String Das Subjekt, das die voll qualifizierte VM-ID für die Confidential VM ist. Beispiel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID. Dieses Format wird als selfLink der Instanz bezeichnet.
submods Array Eine Reihe verschiedener Behauptungen. Weitere Informationen finden Sie unter Ansprüche für Submods.
tdx Array Eine Reihe verschiedener Behauptungen. Weitere Informationen finden Sie unter Intel TDX-Behauptungen.
swname String

Der Name des genehmigten Betriebssystems für die VM.

Gültige Werte sind CONFIDENTIAL_SPACE und GCE. Der CONFIDENTIAL_SPACE-Wert gilt für gehärtete und Debug-Confidential Space-Images, die alle Validierungen bestanden haben.

swversion String-Array

Die Version des Betriebssystems. Der Wert ist ein String-Array, das nur einen Wert enthält.

Die Version hat das Format YYYYMM##, wobei ## ein Zähler für die Anzahl der Bilder ist, die vor dem im selben Monat verwendeten Bild veröffentlicht wurden.

AWS-Haupt-Tag-Ansprüche

In der folgenden Tabelle werden die AWS_PrincipalTag-Claims im Attestierungstoken beschrieben. Diese Ansprüche werden in den https://aws.amazon.com/tags-Ansprüchen im principal_tags-Objekt im Attestierungstoken platziert. Informationen zur https://aws.amazon.com/tags-Anspruchsstruktur finden Sie unter AWS-Principal-Tag-Ansprüche.

Schlüssel Typ Beschreibung
confidential_space.support_attributes String-Array

Abgeleiteter Anspruch auf Supportattribute. Dies ist eine verkettete Stringdarstellung der ursprünglichen Ansprüche.

Wenn die ursprünglichen Ansprüche beispielsweise Latest, Stable und Usable sind, enthält dieses Attribut LATEST=STABLE=USABLE. Wenn der ursprüngliche Anspruch nur Usable ist, enthält dieses Attribut USABLE.

container.image_digest String-Array

Weitere Informationen finden Sie unter Arbeitslastcontainer-Claims.

Container-Image-Signaturen und ‑Digests werden nicht zusammen in einem einzelnen Token angezeigt. Wenn Sie container.image_digest in Ihren AWS-Richtlinien verwenden, müssen Sie alle Verweise auf container.signatures.key_ids entfernen.

container.signatures.key_id String-Array

Eine verkettete Liste von Schlüssel-IDs für Container-Image-Signaturen. Dieses Feld enthält mehrere Signaturschlüssel-IDs, die in einem einzelnen String im Array zusammengefasst sind.

Wenn Sie beispielsweise die Schlüssel-IDs aKey1, zKey2 und bKey3 haben, enthält dieser Anspruch den Wert aKey1=bKey3=zKey2.

Container-Image-Signaturen und ‑Digests werden nicht zusammen in einem einzelnen Token angezeigt. Wenn Sie container.signatures.key_ids in Ihren AWS-Richtlinien verwenden, müssen Sie alle Verweise auf container.image_digest entfernen.

Weitere Informationen zu Ansprüchen für Container-Image-Signaturen finden Sie unter AWS-Richtlinien mit Ansprüchen für Container-Image-Signaturen.

gce.project_id String-Array Weitere Informationen finden Sie unter Compute Engine-Ansprüche.
gce.zone String-Array Weitere Informationen finden Sie unter Compute Engine-Ansprüche.

Intel TDX-Ansprüche

In der folgenden Tabelle werden die tdx-Claims im Attestierungstoken beschrieben.

Schlüssel Typ Beschreibung
gcp_attester_tcb_status String

Ein Stringwert, der den TCB-Level-Status der Google Cloud -Plattform darstellt, die ausgewertet wird. Weitere Informationen zu tcbStatus finden Sie in der Dokumentation zur Provisioning Certification Service API von Intel.

Diese Behauptung gibt an, dass die TDX-TCB-Version auf dem neuesten Stand der Referenzwerte von Intel war, als Google mit dem Firmware-Roll-out begann. Dies garantiert jedoch nicht, dass die Google-Flotte mit den TCB-Referenzwerten von Intel in Echtzeit auf dem neuesten Stand bleibt.

gcp_attester_tcb_date String Das TCB-Datum für die zu bestätigende Google Cloud Plattform. Der Zeitwert ist UTC im ISO 8601-Format (YYYY-MM-DDThh:mm:ssZ).

Ansprüche von Untermodulen

In der folgenden Tabelle werden die submods-Claims im Attestierungstoken beschrieben.

Schlüssel Typ Beschreibung
confidential_space.support_attributes String-Array Das Array kann die Werte EXPERIMENTAL, USABLE, STABLE und LATEST enthalten. Weitere Informationen finden Sie unter Lebenszyklus von Confidential Space-Images.
confidential_space.monitoring_enabled Objekt Hier sehen Sie, welche Art von Systemmonitoring aktiviert ist. Der Wert kann {"memory":false} oder {"memory":true} sein.
container Objekt Weitere Informationen finden Sie unter Arbeitslastcontainer-Claims.
gce Objekt Weitere Informationen finden Sie unter Compute Engine-Ansprüche.
nvidia_gpu.cc_mode (Vorschau) String

Der Status von Confidential Computing für die NVIDIA-GPU. Diese Behauptung bezieht sich nur auf den GPU-Treiber, nicht auf das gesamte GPU-Gerät.

Der Wert kann einer der folgenden sein:

  • OFF: Keine der NVIDIA Confidential Computing-Funktionen ist aktiv.
  • ON: Die Hardware, Firmware und Software von NVIDIA H100 haben die Funktionen für Confidential Computing vollständig aktiviert.
  • DEVTOOLS: Die GPU befindet sich in einem partiell vertraulichen Computing-Modus, der den Arbeitsabläufen des ON-Modus entspricht, aber Sicherheitsfunktionen deaktiviert.

Compute Engine-Ansprüche

In der folgenden Tabelle werden die gce-Claims im Attestierungstoken beschrieben.

Schlüssel Typ Beschreibung
instance_id String Die VM-Instanz-ID.
instance_name String Der Name der VM-Instanz.
project_id String Die Projekt-ID des Projekts, in dem die VM ausgeführt wird.
project_number String Die Projektnummer für das Projekt, in dem die VM ausgeführt wird.
zone String Die Compute Engine-Zone, in der die Confidential VM-Instanz ausgeführt wird.

Ansprüche für Arbeitslastcontainer

In der folgenden Tabelle werden die container-Claims im Attestierungstoken beschrieben. Weitere Informationen zu diesen Behauptungen finden Sie unter Attestierungsbehauptungen.

Schlüssel Typ Beschreibung
args String-Array Die vollständige argv, mit der der Container aufgerufen wird. Dieser Anspruch umfasst den Einstiegspunktpfad des Containers und alle zusätzlichen Befehlszeilenargumente.
cmd_override String-Array Die CMD-Befehle und -Parameter, die im Arbeitslast-Image verwendet werden.
env Objekt Die Umgebungsvariablen und ihre Werte, die explizit an den Container übergeben wurden.
env_override Objekt Die überschriebenen Umgebungsvariablen im Container.
image_digest String Der Image-Digest des Arbeitslastcontainers.
image_id String Die Image-ID des Arbeitslastcontainers.
image_reference String Der Speicherort des im Confidential Space ausgeführten Arbeitslastcontainers.
image_signatures Objekt-Array Weitere Informationen finden Sie unter Container-Image-Signaturansprüche.
restart_policy String Die Neustart-Richtlinie des Container-Launchers, wenn die Arbeitslast beendet wird. Gültige Werte sind Always, OnFailure und Never. Der Standardwert ist Never.

Ansprüche für Container-Image-Signaturen

In der folgenden Tabelle werden die image_signatures-Claims im Attestierungstoken beschrieben.

Schlüssel Typ Beschreibung
key_id String

Der hexadezimale Fingerabdruck des öffentlichen Schlüssels. Führen Sie den folgenden Befehl aus, um den Fingerabdruck abzurufen:

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

Dabei ist public_key.pem Ihr öffentlicher Schlüssel im PEM-Format.

signature String Die base64-codierte Signatur für eine Nutzlast, die mit dem signierten Container verknüpft ist und dem Format für einfache Signaturen entspricht.
signature_algorithm String

Der Algorithmus, der zum Signieren des Schlüssels verwendet wird. Eines der folgenden Betriebssysteme:

  • RSASSA_PSS_SHA256 (RSASSA-PSS mit einem SHA-256-Digest)
  • RSASSA_PKCS1V15_SHA256 (RSASSA-PKCS1 v1_5 mit einem SHA-256-Digest)
  • ECDSA_P256_SHA256 (ECDSA auf der P-256-Kurve mit einem SHA-256-Digest)

Nächste Schritte