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