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