Hash da chave de recurso

O hash da chave de recurso é um mecanismo que permite ao Google verificar a integridade das 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, o resource_name e o perimeter_id especificados durante a operação de encapsulamento de chaves.

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, o hash da chave de recurso será:

echo -n "ResourceKeyDigest:my_resource:my_perimeter" | openssl sha256 -mac HMAC -macopt hexkey:f00d -binary