Ressourcenschlüssel-Hash
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Der Ressourcenschlüssel-Hash ist ein Mechanismus, mit dem Google die Integrität
ohne Zugriff auf die
verpackten Verschlüsselungsschlüssel.
Zum Generieren des Ressourcenschlüssel-Hashs benötigen Sie Zugriff auf den entpackten Schlüssel, einschließlich
den DEK, den resource_name
und den perimeter_id
, die während des Schlüssels angegeben wurden
Wrapping-Vorgang.
Wir verwenden die kryptografische Funktion HMAC-SHA256 mit unwrapped_dek
als Schlüssel und
die Verkettung von Metadaten als Daten
("ResourceKeyDigest:", resource_name, ":", perimeter_id)
.
resource_name
und perimeter_id
sollten UTF-8-codierte Strings sein.
Wenn beispielsweise resource_name = "my_resource"
,
perimeter_id = "my_perimeter"
und unwrapped_dek = 0xf00d
, der Ressourcenschlüssel
Hash lautet:
echo -n "ResourceKeyDigest:my_resource:my_perimeter" | openssl sha256 -mac HMAC -macopt hexkey:f00d -binary
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-07-25 (UTC).
[null,null,["Zuletzt aktualisiert: 2025-07-25 (UTC)."],[[["\u003cp\u003eThe resource key hash ensures Google can verify the integrity of wrapped encryption keys without needing access to the actual keys.\u003c/p\u003e\n"],["\u003cp\u003eGenerating the hash requires the unwrapped key, resource name, and perimeter ID used during key wrapping.\u003c/p\u003e\n"],["\u003cp\u003eIt utilizes HMAC-SHA256, using the unwrapped key as the key and a concatenation of resource details as data for the hash calculation.\u003c/p\u003e\n"],["\u003cp\u003eThe resource name and perimeter ID need to be UTF-8 encoded strings for the hash generation.\u003c/p\u003e\n"]]],["The core mechanism is generating a resource key hash to verify wrapped encryption key integrity. This involves using HMAC-SHA256 with the unwrapped DEK as the key and a specific concatenation of metadata as data. The metadata consists of \"ResourceKeyDigest:\", the UTF-8 encoded `resource_name`, \":\", and the UTF-8 encoded `perimeter_id`. An example shows generating the hash using `openssl` with a sample `resource_name`, `perimeter_id`, and `unwrapped_dek`.\n"],null,["# Resource key hash\n\nThe resource key hash is a mechanism allowing Google to verify the integrity of\nthe wrapped encryption keys without having access to the keys.\n\nGenerating the resource key hash requires access to the unwrapped key including\nthe DEK, the `resource_name` and the `perimeter_id` specified during the key\nwrapping operation.\n\nWe use the cryptographic function HMAC-SHA256 with `unwrapped_dek` as a key and\nthe concatenation of metadata as data\n`(\"ResourceKeyDigest:\", resource_name, \":\", perimeter_id)`.\nThe `resource_name` and `perimeter_id` should be UTF-8 encoded strings.\n\nFor example, when `resource_name = \"my_resource\"`,\n`perimeter_id = \"my_perimeter\"` and `unwrapped_dek = 0xf00d`, the resource key\nhash is: \n\n echo -n \"ResourceKeyDigest:my_resource:my_perimeter\" | openssl sha256 -mac HMAC -macopt hexkey:f00d -binary"]]