রিসোর্স কী হ্যাশ
রিসোর্স কী হ্যাশ হল এমন একটি প্রক্রিয়া যা 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 License-এর অধীনে এবং কোডের নমুনাগুলি Apache 2.0 License-এর অধীনে লাইসেন্স প্রাপ্ত। আরও জানতে, Google Developers সাইট নীতি দেখুন। Java হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2024-11-11 UTC-তে শেষবার আপডেট করা হয়েছে।
[null,null,["2024-11-11 UTC-তে শেষবার আপডেট করা হয়েছে।"],[[["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"]]