تجزئة مفتاح المورد
تجزئة مفتاح المورد هي آلية تتيح لـ 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
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2024-08-22 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2024-08-22 (حسب التوقيت العالمي المتفَّق عليه)"],[[["The resource key hash ensures Google can verify the integrity of wrapped encryption keys without needing access to the actual keys."],["Generating the hash requires the unwrapped key, resource name, and perimeter ID used during key wrapping."],["It utilizes HMAC-SHA256, using the unwrapped key as the key and a concatenation of resource details as data for the hash calculation."],["The resource name and perimeter ID need to be UTF-8 encoded strings for the hash generation."]]],["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"]]