资源密钥哈希

资源密钥哈希是一种机制,可让 Google 在无权访问密钥的情况下验证所封装的加密密钥的完整性。

生成资源密钥哈希需要访问解封装的密钥,包括在密钥封装操作期间指定的 DEK、resource_nameperimeter_id

我们使用加密函数 HMAC-SHA256,将 unwrapped_dek 作为密钥,并将元数据串联为数据 ("ResourceKeyDigest:", resource_name, ":", perimeter_id)resource_nameperimeter_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