Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Dienst „Trusted Hardware Identity Management“ übernimmt die Cacheverwaltung von Zertifikaten für alle vertrauenswürdigen Ausführungsumgebungen (Trusted Execution Environments, TEEs), die sich in Azure befinden. Außerdem werden vertrauenswürdige RechenbasisInformationen (Trusted Computing Base, TBC) bereitgestellt, um eine Mindestbaseline für Nachweislösungen zu erzwingen.
Trusted Hardware Identity Management und Nachweisinteraktionen
Trusted Hardware Identity Management definiert die Azure-Sicherheitsbaseline für Azure Confidential Computing-Knoten (ACC) und speichert Begleitmaterialien von TEE-Anbietern zwischen. Nachweisdienste und ACC-Knoten können die zwischengespeicherten Informationen verwenden, um TEEs zu überprüfen. Das folgende Diagramm zeigt die Interaktionen zwischen einem Nachweisdienst oder Knoten, dem Trusted Hardware Identity Management und einem Enclave-Host.
Häufig gestellte Fragen
Wie verwende ich das Trusted Hardware-Identitätsmanagement mit Intel-Prozessoren?
Zum Generieren von Intel SGX- und Intel TDX-Quotes benötigt die Intel Quote Generation Library (QGL) Zugriff auf Begleitdaten für die Quote-Generierung und -Validierung. Sie müssen dieses Begleitmaterial ganz oder teilweise von Trusted Hardware Identity Management abrufen. Sie können sie mithilfe der Intel Quote Provider Library (QPL) oder der Azure Data Center Attestation Primitives-Clientbibliothek (DCAP) abrufen.
Das Datum der nächsten von Azure Attestation verwendeten Aktualisierung der Azure-internen Cachedienst-API scheint veraltet zu sein. Ist sie noch in Betrieb und kann es verwendet werden?
Das Feld „tcbinfo“ enthält die TCB-Informationen. Der Dienst "Trusted Hardware Identity Management" stellt standardmäßig ältere „tcbinfo“-Informationen bereit. Ein Update auf die neuesten tcbinfo Informationen von Intel könnte bei Nutzern, die nicht auf das neueste Intel SDK migriert haben, zu Attestationsfehlern führen und zu Ausfällen führen.
Das Open Enclave SDK und Azure Attestation überprüfen das Datum nextUpdate nicht und bestehen den Nachweis.
Was ist die Azure DCAP-Bibliothek?
Die Azure Data Center Attestation Primitives-Bibliothek (DCAP), ein Ersatz für die Intel Quote Provider Library (QPL), ruft Begleitmaterialien zur Angebotsgenerierung und -validierung direkt aus dem Trusted Hardware Identity Management-Dienst ab. Das direkte Abrufen von Sicherheiten aus dem Trusted Hardware Identity Management-Service stellt sicher, dass alle Azure-Hosts Sicherheiten innerhalb von Azure verfügbar haben, um externe Abhängigkeiten zu reduzieren. Verwenden Sie die neueste Version für Ihr Ziel-Betriebssystem.
Wo kann ich die neueste Azure DCAP-Bibliothek herunterladen?
Verwenden Sie die folgenden Links, um die Pakete herunterzuladen:
Für neuere Ubuntu-Versionen (zum Beispiel Ubuntu 24.04) müssen Sie Intel QPL verwenden.
Warum verfügen Trusted Hardware Identity Management und Intel über unterschiedliche Baselines?
Trusted Hardware Identity Management und Intel stellen verschiedene Baselineebenen der Trusted Computing Base (TBC) bereit. Wenn Sie davon ausgehen, dass Intel die neuesten Basislinien hat, stellen Sie sicher, dass alle Anforderungen erfüllt sind. Dieser Ansatz kann zu Problemen führen, wenn Sie nicht entsprechend den angegebenen Anforderungen aktualisiert haben.
Trusted Hardware Identity Management verfolgt einen langsameren Ansatz bei der Aktualisierung der TCB-Basis, sodass Sie die notwendigen Änderungen in Ihrem eigenen Tempo vornehmen können. Obwohl dieser Ansatz eine ältere TCB-Basislinie bietet, kommt es zu keinem Bruch, wenn man die Anforderungen des neuen TCB-Basiswerts nicht erfüllt hat. Aus diesem Grund ist die TCB-Basislinie von Trusted Hardware Identity Management eine andere Version als Intels Basis. Dieser Ansatz hilft Ihnen, die Anforderungen des neuen TCB-Basisplans in Ihrem eigenen Tempo zu erfüllen, anstatt ein Update zu erzwingen und eine Störung zu verursachen, die eine Neupriorisierung der Arbeitsströme erfordern würde.
Mit Intel Xeon E-Prozessoren konnte ich meine Zertifikate direkt vom Intel PCS beziehen. Warum muss ich bei Intel Xeon Scalable-Prozessoren ab der 4. Generation die Zertifikate von Trusted Hardware Identity Management beziehen? Und wie kann ich diese Zertifikate abrufen?
Ab der 4. Generation der Intel® Xeon® Scalable Prozessoren führt Azure eine indirekte Registrierung im Registration Service von Intel durch, indem es das Platform Manifest verwendet und das resultierende PCK-Zertifikat im Trusted Hardware Identity Management (THIM)-Service speichert.
Azure verwendet eine indirekte Registrierung, da Intels Registrierungsdienst in diesem Fall keine Root-Schlüssel für eine Plattform speichert und diese Bedingung sich in false der CachedKeys Flagge in PCK-Zertifikaten widerspiegelt.
Da Azure eine indirekte Registrierung verwendet, benötigt jede nachfolgende Kommunikation mit Intel PCS das Platform Manifest, das Azure virtuellen Maschinen (VMs) nicht zur Verfügung stellt.
Stattdessen müssen VMs THIM kontaktieren, um PCK-Zertifikate zu erhalten.
Um ein PCK-Zertifikat abzurufen, können Sie entweder die Intel QPL- oder die Azure DCAP-Bibliothek verwenden.
Wie verwende ich Intel QPL mit Trusted Hardware Identity Management?
Sie möchten vielleicht die Flexibilität haben, Intel QPL zu nutzen, um mit Trusted Hardware Identity Management zu interagieren, ohne eine weitere Abhängigkeit von Microsoft herunterladen zu müssen, wie zum Beispiel die Azure DCAP-Client-Bibliothek. Um Intel QPL mit dem Trusted Hardware Identity Management Service zu verwenden, passen Sie die Intel QPL-Konfigurationsdatei sgx_default_qcnl.conf an.
Die Begleitmaterialien zur Angebotserstellung und -überprüfung, die zum Generieren der Intel SGX- oder Intel TDX-Angebote verwendet werden, können wie folgt unterteilt werden:
- Das PCK-Zertifikat. Um sie abzurufen, müssen Sie einen Trusted Hardware Identity Management-Endpunkt verwenden.
- Alle anderen Unterlagen zur Angebotserstellung und -prüfung. Um sie abzurufen, können Sie einen Trusted Hardware Identity Management Endpunkt oder einen Intel Provisioning Certification Service (PCS) Endpunkt verwenden.
Die Intel QPL-Konfigurationsdatei (sgx_default_qcnl.conf) enthält drei Schlüssel für die Definition der Collateral-Endpunkte. Der Schlüssel „pccs_url“ definiert den Endpunkt, der zum Abrufen der PCK-Zertifikate verwendet wird. Der collateral_service-Schlüssel kann den Endpunkt festlegen, der zum Abrufen sämtlicher weiterer Begleitdaten für die Quote-Erstellung und -Verifizierung verwendet wird. Wenn Sie den collateral_service Schlüssel nicht definieren, wird das gesamte Zitatverifizierungsmaterial vom mit dem pccs_url Schlüssel definierten Endpunkt abgerufen.
Die folgende Tabelle zeigt, wie Sie diese Schlüssel konfigurieren können.
| Name | Mögliche Endpunkte |
|---|---|
pccs_url |
Vertrauenswürdiger Endpunkt für Hardware-Identitätsmanagement: https://global.acccache.azure.net/sgx/certification/v3. |
collateral_service |
Trusted Hardware Identity Management-Endpunkt (https://global.acccache.azure.net/sgx/certification/v3) oder Intel PCS-Endpunkt. Die Datei sgx_default_qcnl.conf listet immer den aktuellsten Endpunkt im Schlüssel „collateral_service“ auf. |
Der folgende Codeschnipsel stammt aus einem Beispiel für eine Intel QPL-Konfigurationsdatei:
{
"pccs_url": "https://global.acccache.azure.net/sgx/certification/v3/",
"use_secure_cert": true,
"collateral_service": "https://global.acccache.azure.net/sgx/certification/v3/",
"pccs_api_version": "3.1",
"retry_times": 6,
"retry_delay": 5,
"local_pck_url": "http://169.254.169.254/metadata/THIM/sgx/certification/v3/",
"pck_cache_expire_hours": 24,
"verify_collateral_cache_expire_hours": 24,
"custom_request_options": {
"get_cert": {
"headers": {
"metadata": "true"
},
"params": {
"api-version": "2021-07-22-preview"
}
}
}
}
In den folgenden Verfahren wird erläutert, wie Sie die Intel QPL-Konfigurationsdatei ändern und die vorgenommenen Änderungen aktivieren können.
Unter Windows
Nehmen Sie Änderungen an der Konfigurationsdatei vor.
Stellen Sie sicher, dass die Leserechte für die Datei vom folgenden Registrierungsstandort und Schlüssel-/Wert-Paar ausgehen:
[HKEY_LOCAL_MACHINE\SOFTWARE\Intel\SGX\QCNL] "CONFIG_FILE"="<Full File Path>"Starten Sie den AESMD-Dienst neu. Zum Beispiel öffnen Sie PowerShell als Administrator und verwenden Sie folgende Befehle:
Restart-Service -Name "AESMService" -ErrorAction Stop Get-Service -Name "AESMService"
Unter Linux
Nehmen Sie Änderungen an der Konfigurationsdatei vor. Verwenden Sie beispielsweise Vim, indem Sie den folgenden Befehl ausführen:
sudo vim /etc/sgx_default_qcnl.confStarten Sie den AESMD-Dienst neu. Öffnen Sie ein beliebiges Terminal, und führen Sie die folgenden Befehle aus:
sudo systemctl restart aesmd systemctl status aesmd
Wie fordere ich Begleitmaterialien in einer vertraulichen VM an?
Verwenden Sie das folgende Beispiel auf einer vertraulichen VM (Confidential Virtual Machine, CVM), um AMD-Begleitmaterialien anzufordern, die das VCEK-Zertifikat und die Zertifikatkette enthalten. Ausführliche Informationen zu diesen Begleitmaterialien und deren Ursprung finden Sie unter Versioned Chip Endorsement Key (VCEK) Certificate and KDS Interface Specification (VCEK-Zertifikat (Versioned Chip Endorsement Key) und KDS-Schnittstellenspezifikation).
URI-Parameter
GET "http://169.254.169.254/metadata/THIM/amd/certification"
Anforderungstext
| Name | Typ | Beschreibung |
|---|---|---|
Metadata |
Boolescher Wert | Auf True setzen, um Sicherheiten zurückzugeben. |
Beispiel für eine Anforderung
curl GET "http://169.254.169.254/metadata/THIM/amd/certification" -H "Metadata: true"
Antworten
| Name | Beschreibung |
|---|---|
200 OK |
Listet verfügbare Begleitmaterialien im HTTP-Text im JSON-Format auf. |
Other status codes |
Beschreibt, warum der Vorgang fehlgeschlagen ist. |
Definitionen
| Schlüssel | Beschreibung |
|---|---|
VcekCert |
X.509v3-Zertifikat, wie in RFC 5280 definiert |
tcbm |
Vertrauenswürdige Rechnerbasis |
certificateChain |
AMD SEV Key- (ASK) und AMD Root Key-Zertifikate (ARK) |
Wie fordere ich AMD-Begleitmaterialien in einem Azure Kubernetes Service-Container auf einem CVM-Knoten an?
Führen Sie die folgenden Schritte aus, um AMD-Begleitmaterialien in einem vertraulichen Container anzufordern:
Erstellen Sie zunächst einen Azure Kubernetes Service -Cluster (AKS) auf einem CVM-Knoten oder fügen Sie einem vorhandenen Cluster einen CVM-Knotenpool hinzu:
Erstellen Sie einen AKS-Cluster auf dem CVM-Knoten:
Erstellen Sie eine Ressourcengruppe in einer der unterstützten CVM-Regionen:
az group create --resource-group <resource-group> --location <location>Erstellen Sie einen AKS-Cluster mit einem CVM-Knoten in der Ressourcengruppe:
az aks create --name <aks-cluster-name> --resource-group <resource-group> -l <location> --node-vm-size Standard_DC4as_v5 --nodepool-name <pool-name> --node-count 1Konfigurieren Sie „kubectl“ für die Verbindung mit dem Cluster:
az aks get-credentials --resource-group <resource-group> --name <aks-cluster-name>
Fügen Sie einem vorhandenen AKS-Cluster einen CVM-Knotenpool hinzu:
az aks nodepool add --cluster-name <aks-cluster-name> --resource-group <resource-group> --name <pool-name> --node-vm-size Standard_DC4as_v5 --node-count 1
Überprüfen Sie die Verbindung mit Ihrem Cluster mithilfe des Befehls „
kubectl get“. Dieser Befehl gibt eine Liste der Clusterknoten zurück.kubectl get nodesDas folgende Ausgabebeispiel zeigt den in den vorherigen Schritten erstellten Einzelknoten. Überprüfen Sie, dass der Knotenstatus ist
Ready.NAME STATUS Rollen Alter VERSION aks-nodepool1-31718369-0 Bereit Agent 6m44s v1.12.8 Erstellen Sie eine curl.yaml-Datei folgenden Inhalts. Sie definiert einen Auftrag, der einen curl-Container zum Abrufen von AMD-Begleitmaterialien vom Trusted Hardware Identity Management-Endpunkt ausführt. Weitere Informationen zu Kubernetes-Aufträgen finden Sie in der Kubernetes-Dokumentation.
apiVersion: batch/v1 kind: Job metadata: name: curl spec: template: metadata: labels: app: curl spec: nodeSelector: kubernetes.azure.com/security-type: ConfidentialVM containers: - name: curlcontainer image: alpine/curl:3.14 imagePullPolicy: IfNotPresent args: ["-H", "Metadata:true", "http://169.254.169.254/metadata/THIM/amd/certification"] restartPolicy: "Never"Die curl.yaml-Datei enthält die folgenden Argumente.
Name Typ Beschreibung MetadataBoolescher Wert Auf Truesetzen, um Sicherheiten zurückzugeben.Führen Sie den Auftrag aus, indem Sie die curl.yaml-Datei anwenden:
kubectl apply -f curl.yamlWarten Sie, bis der Pod seinen Auftrag abgeschlossen hat:
kubectl get podsHier sehen Sie eine Beispielantwort:
Name Bereit Der Status Neustarts Alter curl-w7nt8 0/1 Abgeschlossen 0 72 s Führe den folgenden Befehl aus, um die Job-Logs zu erhalten und zu überprüfen, ob es funktioniert. Eine erfolgreiche Ausgabe sollte „
vcekCert“, „tcbm“ und „certificateChain“ enthalten.kubectl logs job/curl
Nächste Schritte
- Erfahren Sie mehr über die Azure Attestation-Dokumentation.
- Hier finden Sie die Dokumentation zu Azure Confidential Computing.