Hasz klucza zasobu

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