Hash chiave risorsa
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
L'hash della chiave della risorsa è un meccanismo che consente a Google di verificare l'integrità
le chiavi di crittografia con wrapping senza avere accesso alle chiavi.
La generazione dell'hash della chiave della risorsa richiede l'accesso alla chiave senza wrapping, tra cui
la chiave DEK, resource_name
e perimeter_id
specificati durante la chiave
di wrapping.
Utilizziamo la funzione crittografica HMAC-SHA256 con unwrapped_dek
come chiave e
la concatenazione dei metadati come dati
("ResourceKeyDigest:", resource_name, ":", perimeter_id)
.
I valori resource_name
e perimeter_id
devono essere stringhe con codifica UTF-8.
Ad esempio, quando resource_name = "my_resource"
,
perimeter_id = "my_perimeter"
e unwrapped_dek = 0xf00d
, la chiave della risorsa
è:
echo -n "ResourceKeyDigest:my_resource:my_perimeter" | openssl sha256 -mac HMAC -macopt hexkey:f00d -binary
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-25 UTC.
[null,null,["Ultimo aggiornamento 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"]]