Hasz klucza zasobu
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
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
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-25 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-25 UTC."],[],["The core mechanism is generating a resource key hash to verify wrapped encryption key integrity. This involves using HMAC-SHA256 with the unwrapped DEK as the key and a specific concatenation of metadata as data. The metadata consists of \"ResourceKeyDigest:\", the UTF-8 encoded `resource_name`, \":\", and the UTF-8 encoded `perimeter_id`. An example shows generating the hash using `openssl` with a sample `resource_name`, `perimeter_id`, and `unwrapped_dek`.\n"],null,[]]