El hash de la clave del recurso es un mecanismo que le permite a Google verificar la integridad de las claves de encriptación unidas sin tener acceso a las claves.
Para generar el hash de la clave del recurso, se requiere acceso a la clave separada, incluidas la DEK, el resource_name
y el perimeter_id
que se especifican durante la operación de unión de claves.
Usamos la función criptográfica HMAC-SHA256 con unwrapped_dek
como clave y la concatenación de metadatos como datos ("ResourceKeyDigest:", resource_name, ":", perimeter_id)
.
resource_name
y perimeter_id
deben ser strings codificadas en UTF-8.
Por ejemplo, cuando resource_name = "my_resource"
, perimeter_id = "my_perimeter"
y unwrapped_dek = 0xf00d
, el hash de la clave de recurso es el siguiente:
echo -n "ResourceKeyDigest:my_resource:my_perimeter" | openssl sha256 -mac HMAC -macopt hexkey:f00d -binary