Хэш ключа ресурса — это механизм, позволяющий Google проверять целостность завернутых ключей шифрования без доступа к ключам.
Для создания хеша ключа ресурса требуется доступ к развернутому ключу, включая DEK, resource_name
и perimeter_id
, указанные во время операции упаковки ключа.
Мы используем криптографическую функцию HMAC-SHA256 с unwrapped_dek
в качестве ключа и объединением метаданных в качестве данных ("ResourceKeyDigest:", resource_name, ":", perimeter_id)
. resource_name
и perimeter_id
должны быть строками в кодировке UTF-8.
Например, когда resource_name = "my_resource"
, perimeter_id = "my_perimeter"
и unwrapped_dek = 0xf00d
, хэш ключа ресурса будет следующим:
echo -n "ResourceKeyDigest:my_resource:my_perimeter" | openssl sha256 -mac HMAC -macopt hexkey:f00d -binary