Attestierungstoken-Anfragen


In der folgenden Tabelle werden die unterstützten Claims 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, anhand derer PKI-Tokens validiert werden sollen. Sie können das Root-Zertifikat vom PKI-Token-Bestätigungsendpunkt herunterladen.
JSON-Nutzlast
attester_tcb String-Array

Eine oder mehrere TCB-Komponenten (Trusted Computing Base) Mit dieser Behauptung wird die Quelle des Attestierungsnachweises 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 aus Intel-spezifischer 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 stündlich vom Launcher in der Confidential VM-Instanz abgerufen.

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

dbgstat String Der Debug-Status der Hardware. Bei Produktionsabbildern ist der Wert disabled-since-boot. In Debug-Images ist der Wert enabled.
eat_nonce String oder String-Array Eine oder mehrere Nonces für das Attestierungstoken. Die Werte werden aus den Tokenoptionen übernommen, die in der Anfrage für das benutzerdefinierte Token gesendet wurden. Jedes Nonce muss zwischen 8 und 88 Byte lang sein. Es sind maximal sechs Nonces zulässig.
exp Ganzzahl, Unix-Zeitstempel Die Ablaufzeit, an oder nach der das Token nicht mehr zur Verarbeitung akzeptiert werden darf. Der Wert ist eine JSON-Zahl, die die Anzahl der Sekunden von 1970-01-01T0:0:0Z (gemessen in UTC) bis zum Ablaufzeitpunkt angibt.
google_service_accounts String-Array Die bestätigten Dienstkonten, auf denen die Confidential Space-Arbeitslast ausgeführt wird.
hwmodel String

Die eindeutige Kennung für das Hardware-Token. Folgende Werte sind zulässig:

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDX (Vorschau)
iat Ganzzahl, Unix-Zeitstempel Der Zeitpunkt, zu dem das JWT ausgestellt wurde. Der Wert ist eine JSON-Zahl, die die Anzahl der Sekunden von 1970-01-01T0:0:0Z (gemessen in UTC) bis zum Zeitpunkt des Auftretens des Problems angibt.
iss String Der Aussteller des Tokens, der auf https://confidentialcomputing.googleapis.com festgelegt ist.
nbf Ganzzahl, Unix-Zeitstempel Die Zeit, vor der das JWT nicht mehr für die Verarbeitung verwendet werden kann.
oemid Uint64 Die Private Enterprise Number (PEN) von Google, also 11129.
secboot Boolesch Ob Secure Boot aktiviert ist, wodurch sichergestellt wird, dass die Firmware und das Betriebssystem während des VM-Bootvorgangs authentifiziert wurden. Dieser Wert ist immer true.
sub String Das Subjekt, also die voll qualifizierte ID der virtuellen Maschine für die Confidential VM. 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 Ansprüche. Weitere Informationen finden Sie unter Anspruchsrechte von Submods.
swname String

Der Name des genehmigten Betriebssystems für die VM.

Mögliche Werte sind CONFIDENTIAL_SPACE und GCE. Der Wert CONFIDENTIAL_SPACE gilt nur für gehärtete 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 verwendeten Bild im selben Monat veröffentlicht wurden.

Ansprüche von Untermoderatoren

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

Schlüssel Typ Beschreibung
confidential_space.support_attributes String-Array Der Wert kann USABLE, STABLE und LATEST enthalten. Weitere Informationen finden Sie unter Lebenszyklus von Confidential Space-Images.
confidential_space.monitoring_enabled Objektarray Gibt an, welche Art von Systemüberwachung aktiviert ist. Der Wert kann {"memory":false} oder {"memory":true} sein.
container Object Weitere Informationen finden Sie unter Anspruchsrechte für Arbeitslastcontainer.
gce Object Siehe Compute Engine-Anspruchsrechte.

Arbeitslastcontainer-Anspruch

In der folgenden Tabelle werden die container-Anspruche im Attestierungstoken beschrieben. Weitere Informationen zu diesen Ansprüchen finden Sie unter Attestationsaussagen.

Schlüssel Typ Beschreibung
args String-Array Die vollständige argv, mit der der Container aufgerufen wird. Dieser Anspruch enthält den Pfad zum Einstiegspunkt des Containers und alle zusätzlichen Befehlszeilenargumente.
cmd_override String-Array Die CMD-Befehle und ‑Parameter, die im Arbeitslast-Image verwendet werden.
env Objektarray Die Umgebungsvariablen und ihre Werte, die explizit an den Container übergeben wurden.
env_override Objektarray Die überschriebenen Umgebungsvariablen im Container.
image_digest String Den 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 Objektarray Weitere Informationen finden Sie unter Anspruchsrechte für Container-Image-Signaturen.
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.

Compute Engine-Anspruch

In der folgenden Tabelle werden die gce-Anspruche 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 des Projekts, in dem die VM ausgeführt wird.
zone String Die Compute Engine-Zone, in der die Confidential VM ausgeführt wird.

Ansprüche auf Container-Image-Signatur

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

Schlüssel Typ Beschreibung
key_id String

Der Hexadezimal-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 die einfache Signatur 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 SHA-256-Digest)
  • ECDSA_P256_SHA256 (ECDSA auf der P-256-Kurve mit einem SHA-256-Digest)

Nächste Schritte