Hasz klucza zasobu to mechanizm umożliwiający Google weryfikację integralności opakowane klucze szyfrowania bez dostępu do nich.
Generowanie hasza klucza zasobu wymaga dostępu do rozpakowanego klucza z
DEK, resource_name
i perimeter_id
określone w kluczu
zawijania tekstu.
Używamy funkcji kryptograficznej HMAC-SHA256 z kluczem unwrapped_dek
i
łączenie metadanych jako danych
("ResourceKeyDigest:", resource_name, ":", perimeter_id)
Elementy resource_name
i perimeter_id
powinny być ciągami zakodowanymi w formacie UTF-8.
Jeśli na przykład resource_name = "my_resource"
,
perimeter_id = "my_perimeter"
i unwrapped_dek = 0xf00d
, klucz zasobu
hasz to:
echo -n "ResourceKeyDigest:my_resource:my_perimeter" | openssl sha256 -mac HMAC -macopt hexkey:f00d -binary