Hash da chave de recurso
O hash da chave de recurso é um mecanismo que permite ao Google verificar a integridade dos
as chaves de criptografia encapsuladas sem ter acesso a elas.
A geração do hash da chave de recurso requer acesso à chave desencapsulada, incluindo
a DEK, os valores resource_name
e perimeter_id
especificados durante a
operação de encapsulamento.
Usamos a função criptográfica HMAC-SHA256 com unwrapped_dek
como chave e
a concatenação de metadados como dados
("ResourceKeyDigest:", resource_name, ":", perimeter_id)
.
resource_name
e perimeter_id
precisam ser strings codificadas em UTF-8.
Por exemplo, quando resource_name = "my_resource"
,
perimeter_id = "my_perimeter"
e unwrapped_dek = 0xf00d
, a chave de recurso.
hash é:
echo -n "ResourceKeyDigest:my_resource:my_perimeter" | openssl sha256 -mac HMAC -macopt hexkey:f00d -binary
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-08-22 UTC.
[null,null,["Última atualização 2024-08-22 UTC."],[[["The resource key hash ensures Google can verify the integrity of wrapped encryption keys without needing access to the actual keys."],["Generating the hash requires the unwrapped key, resource name, and perimeter ID used during key wrapping."],["It utilizes HMAC-SHA256, using the unwrapped key as the key and a concatenation of resource details as data for the hash calculation."],["The resource name and perimeter ID need to be UTF-8 encoded strings for the hash generation."]]],["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"]]