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 Schlüsselnachweis ist eine Funktionalität von Azure Managed HSM. Sie können die Integrität und Authentizität kryptografischer Schlüssel überprüfen, die im Hardwaresicherheitsmodul (HARDWARE Security Module, HSM) gespeichert sind. Es ermöglicht Organisationen zu überprüfen, ob Schlüssel in einem vertrauenswürdigen, FIPS 140-3 Level 3 zertifizierten HSM generiert und gespeichert werden, ohne die FIPS-Grenze zu verlassen. Durch die Bereitstellung von kryptografischen Nachweisen, dass die Schlüssel sicher behandelt werden, verbessert der Schlüsselnachweis das Vertrauen in Schlüsselverwaltungsprozesse, wodurch die Einhaltung strenger Sicherheitsstandards und Vorschriften ermöglicht wird. Diese Funktion ist besonders in Szenarien hilfreich, in denen Kunden sicherstellen müssen, dass ihre Schlüssel vor unbefugtem Zugriff geschützt sind, auch von Cloudanbietern.
Voraussetzungen
-
AZ CLI-Version (2.73.0 oder höher): Führen Sie
az --versionfür die Version aus. Wenn Sie die Azure CLI installieren oder aktualisieren müssen, siehe Installieren der Azure CLI. -
Python-Version (3.13.2 oder höher): Für die Version ausführen
python3 --version. -
Pip3-Version (24.3.1 oder höher): Führen Sie
pip3 --versionaus, um die Version zu überprüfen. - Erlaubnisse: Kryptobenutzer des verwalteten HSM oder einer benutzerdefinierten Rolle mit getkey-Berechtigungen
Herunterladen oder Klonen des GitHub-Repositorys
Laden Sie das GitHub-Repository herunter, oder klonen Sie es mit allen Dateien, die für den Schlüsselnachweis erforderlich sind.
Einrichten einer virtuellen Umgebung und Installieren der erforderlichen Python-Pakete
Richten Sie eine virtuelle Umgebung ein, und installieren Sie die erforderlichen Python-Pakete von requirements.txt. In diesem Beispiel benennen wir die virtuelle Umgebung „Nachweis“. Stellen Sie sicher, dass Sie sich im Repository befinden, das Sie in Schritt 1 heruntergeladen oder geklont haben. Verwenden Sie unter Windows die Eingabeaufforderung.
python3 -m venv attestation
attestation\Scripts\activate.bat
pip3 install -r requirements.txt
cd src/
Abrufen von Nachweisdaten für einen bestimmten Schlüssel aus dem HSM
Abrufen von Attestierungsdaten für einen bestimmten Schlüssel aus dem HSM mithilfe des Azure CLI az keyvault key get-attestation Befehls. Das Einbeziehen der Schlüsselversion ist optional. Die JSON-Datei enthält wichtige Eigenschaften, den Nachweis-BLOB und alle Zertifikate, die für den Schlüsselnachweis erforderlich sind. In diesem Beispiel heißt attestation.jsondie JSON-Datei .
Verwendung:
az keyvault key get-attestation --hsm-name <hsm-name> --name <key-name> --version <key-version> --file <output-file>.json
oder
az keyvault key get-attestation --id https://<hsm-name>.managedhsm.azure.net/keys/<key-name>/<key-version> --file <output-file>.json
Beispiele
Für einen in HSM
<key-name>benannten Schlüssel mit dem Namen<hsm-name>:az keyvault key get-attestation --hsm-name <hsm-name> --name <key-name> --file attestation.jsonoder
az keyvault key get-attestation --id https://<hsm-name>.managedhsm.azure.net/keys/<key-name> --file attestation.jsonFür einen Schlüssel namens
<key-name>in einem HSM namens<hsm-name>, mit einer bestimmten Schlüsselversion<key-version>:az keyvault key get-attestation --hsm-name <hsm-name> --name <key-name> --version <key-version> --file attestation.jsonoder
az keyvault key get-attestation --id https://<hsm-name>.managedhsm.azure.net/keys/<key-name>/<key-version> --file attestation.json
Überprüfen der Nachweisdaten
Das Python-Skript validate_attestation.py extrahiert das Attestation-BLOB und Zertifikate aus der JSON-Datei. Es erstellt eine Zertifikatkette, um zu bestätigen, dass der Schlüssel von Marvell, dem Stamm des HSM-Anbieters signiert ist, und überprüft, ob der Schlüssel mit einem von Microsoft signierten Zertifikat signiert ist. Außerdem werden die Attribute der Binärdatei für den Nachweis analysiert und die Ergebnisse gedruckt. Asymmetrische Schlüssel erhalten sowohl einen öffentlichen als auch einen privaten Schlüsselnachweis, während symmetrische Schlüssel nur einen privaten Schlüsselnachweis erhalten. Ein optionaler Parameter --v oder --verbose kann eingeschlossen werden, um die Eigenschaften der Zertifikatkette und zusätzliche Informationen zu den Attributen des Schlüssels anzuzeigen.
Verwendung:
python3 validate_attestation.py -af <attestation.json>
Beispiele
Ohne ausführlichen Modus:
python3 validate_attestation.py -af attestation.jsonMit ausführlichem Modus:
python3 validate_attestation.py -af attestation.json --v
Wenn Sie den ausführlichen Modus verwenden, sehen Sie, wie wir eine Zertifikatkettenvalidierung durchführen und welche Zertifikate zur Überprüfung der Integrität des Attestation Blobs sowohl für Marvell als auch für Microsoft eingesetzt werden.
Sie können die Von uns verwendeten /src/vendor/marvell/marvell_validate_key_attestation.pyZertifikate überprüfen.