EAT-Profil von Azure Attestation für Intel® Trust Domain Extensions (TDX)
Dieses Profil beschreibt Ansprüche für ein Intel® Trust Domain Extensions (TDX)-Nachweisergebnis, das als Entitätsnachweistoken (Entity Attestation Token, EAT) durch Azure Attestation generiert wurde.
Das Profil enthält Ansprüche aus der IETF JWT-Spezifikation, der EAT-Spezifikation, der TDX-Spezifikation von Intel und Microsoft-spezifischen Ansprüchen.
JWT-Ansprüche
Die vollständigen Definitionen der folgenden Ansprüche sind in der JWT-Spezifikation verfügbar.
iat: Der Anspruch „iat“ (Ausgestellt um) gibt den Zeitpunkt an, zu dem das JWT ausgestellt wurde.
exp: Der Anspruch „exp“ (Ablaufzeit) gibt die Ablaufzeit an, ab oder nach der das JWT nicht für die Bearbeitung akzeptiert werden darf.
iss: Der Anspruch „iss“ (Aussteller) identifiziert den Prinzipal, der das JWT ausgestellt hat.
jti: Der Anspruch „jti“ (JWT-ID) stellt einen eindeutigen Bezeichner für das JWT bereit.
nbf: Der Anspruch „nbf“ (nicht vor) gibt die Zeit an, vor der das JWT nicht für die Bearbeitung akzeptiert werden darf.
EAT-Ansprüche
Die vollständigen Definitionen der folgenden Ansprüche sind in der EAT-Spezifikation verfügbar.
eat_profile: Der Anspruch „eat_profile“ ermittelt ein EAT-Profil entweder über eine URL oder ein OID.
dbgstat: Der Anspruch „dbgstat“ gilt für entitätsweite oder submoduleweite Debugfunktionen der Entität wie [JTAG] und in Chips integrierte Diagnosehardware.
intus: Der Anspruch „intus“ gibt einem EAT-Consumer einen Hinweis auf die beabsichtigte Verwendung des Tokens.
TDX-Ansprüche
Die vollständigen Definitionen der Ansprüche sind im Abschnitt „A.3.2 TD Quote Body“ der Intel® TDX DCAP Quoting Library API-Spezifikation verfügbar.
tdx_mrsignerseam: Eine 96-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 48 darstellt, das die Messung des TDX-Modul-Signaturgebers enthält.
tdx_mrseam: Eine 96-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 48 darstellt, das die Messung des Intel TDX-Moduls enthält.
tdx_mrtd: Eine 96-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 48 darstellt, das die Messung der ursprünglichen TDX-Inhalte enthält.
tdx_rtmr0: Eine 96-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 48 darstellt, das das Runtimeregister für erweiterbare Messungen enthält.
tdx_rtmr1: Eine 96-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 48 darstellt, das das Runtimeregister für erweiterbare Messungen enthält.
tdx_rtmr2: Eine 96-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 48 darstellt, das das Runtimeregister für erweiterbare Messungen enthält.
tdx_rtmr3: Eine 96-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 48 darstellt, das das Runtimeregister für erweiterbare Messungen enthält.
tdx_mrconfigid: Eine 96-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 48 darstellt, das die softwaredefinierte ID für die nicht besitzerdefinierte TDX-Konfiguration enthält, z. B. die Runtime- oder Betriebssystemkonfiguration.
tdx_mrowner: Eine 96-stellige hexadezimale Zeichenfolge, die ein Bytearray mit der Länge 48 darstellt, das die softwaredefinierte ID für den Besitzer des TDX enthält.
tdx_mrownerconfig: Eine 96-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 48 darstellt, das die softwaredefinierte ID für die besitzerdefinierte TDX-Konfiguration enthält, z. B. workloadspezifisch statt runtime- oder betriebssystemspezifisch.
tdx_report_data: Eine 128-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 64 darstellt. In diesem Zusammenhang bietet der TDX die Flexibilität, 64 Byte benutzerdefinierter Daten in einen TDX-Bericht einzuschließen. Beispielsweise kann dieser Bereich verwendet werden, um eine Nonce, einen öffentlichen Schlüssel oder einen Hash eines größeren Datenblocks zu speichern.
tdx_seam_attributes: Eine 16-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 8 darstellt, das zusätzliche Konfigurationen des TDX-Moduls enthält.
tdx_tee_tcb_svn: Eine 32-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 16 darstellt, das die TCB-Sicherheitsversionsnummern (Trusted Computing Base, TCB) von TDX beschreibt.
tdx_xfam: Eine 16-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 8 darstellt, das eine Maske erweiterter CPU-Features enthält, die TDX verwenden darf.
tdx_seamsvn: Eine Zahl, die die SVN (Sicherheitsversionsnummer) des Intel TDX-Moduls darstellt. Die vollständige Definition des Anspruchs ist in Abschnitt „3.1 SEAM_SIGSTRUCT: INTEL® TDX MODULE SIGNATURE STRUCTURE“ der Intel® TDX Loader Interface-Spezifikation verfügbar.
tdx_td_attributes: Eine 16-stellige hexadezimale Zeichenfolge, die ein Bytearray der Länge 8 darstellt. Dies sind die Attribute, die der Vertrauensdomäne (Trust Domain, TD) zugeordnet sind. Die vollständigen Definitionen der unten genannten Ansprüche sind im Abschnitt „A.3.4“ verfügbar. TD-Attributes der Intel® TDX DCAP Quoting Library API-Spezifikation.
tdx_td_attributes_debug: Ein boolescher Wert, der angibt, ob die TD im TD-Debugmodus ausgeführt wird (auf 1 festgelegt) oder nicht (auf 0 festgelegt). Im TD-Debugmodus kann vom Host-VMM auf den CPU-Zustand und den privaten Arbeitsspeicher zugegriffen werden.
tdx_td_attributes_key_locker: Ein boolescher Wert, der angibt, ob die TD den Key Locker verwenden darf.
tdx_td_attributes_perfmon: Ein boolescher Wert, der angibt, ob die TD die Optionen „Perfmon“ und „PERF_METRICS“ verwenden darf.
tdx_td_attributes_protection_keys: Ein boolescher Wert, der angibt, ob die TD die Supervisor Protection Keys verwenden darf.
tdx_td_attributes_septve_disable: Ein boolescher Wert, der bestimmt, ob die Konvertierung von EPT-Verstößen in #VE mit TD-Zugriff von PENDING-Seiten deaktiviert werden soll.
Nachweiseransprüche
attester_tcb_status: Ein Zeichenfolgenwert, der den TCB-Levelstatus der zu bewertenden Plattform darstellt. Weitere Informationen finden Sie unter „tcbStatus“ im Intel® Trusted Services API Management Developer Portal.
Microsoft-spezifische Ansprüche
x-ms-attestation-type-: Ein Zeichenfolgenwert, der den Nachweistyp darstellt.
x-ms-policy-hash-: Der Hash der Azure Attestation-Auswertungsrichtlinie, der als BASE64URL(SHA256(UTF8(BASE64URL(UTF8(Richtlinientext))))) berechnet wird.
x-ms-runtime: Ein JSON-Objekt, das „Ansprüche“ enthält, die innerhalb der bestätigten Umgebung definiert und generiert werden. Dies ist eine Spezialisierung des Konzepts „Enclave Held Data“, bei dem „Enclave Held Data“ speziell als UTF-8-Codierung von wohlgeformtem JSON-Code formatiert ist.
x-ms-ver: Die JWT-Schemaversion („1.0“ wird erwartet) }