Penggabungan kunci

Pelapisan kunci adalah proses mengenkripsi satu kunci menggunakan kunci lain agar dapat menyimpannya atau mengirimkannya melalui saluran yang tidak tepercaya. Wrapper kunci dapat mengandalkan kriptografi simetris atau asimetris, bergantung pada konteksnya.

Di Cloud Key Management Service, key wrapping digunakan untuk mengimpor kunci kriptografi yang disediakan pengguna dengan aman. Mengimpor kunci memerlukan tugas impor, dan setiap tugas impor memiliki metode impor yang menentukan protokol penggabungan kunci yang akan digunakan.

Cloud KMS mengharapkan format tertentu untuk materi kunci yang diimpor. Sebelum materi kunci digabungkan untuk diimpor, Anda mungkin perlu mengonversinya ke format yang diharapkan oleh Cloud KMS. Memformat kunci untuk impor berisi detail format yang diperlukan, dan memberikan petunjuk tentang cara mengonversi kunci ke format yang diperlukan jika diperlukan.

Setelah materi kunci diformat dengan benar, Google Cloud CLI dapat otomatis menggabungkan materi kunci Anda sebelum mengirimkannya dengan aman ke Cloud KMS. Untuk mengetahui detailnya, lihat Mengimpor kunci. Atau, Anda dapat menggabungkan kunci secara manual menggunakan protokol cryptographic yang sesuai. Menggabungkan kunci menggunakan OpenSSL di Linux memberikan satu contoh cara melakukannya.

Metode impor

Cloud KMS menyediakan metode impor berikut:

Metode impor Mengimpor jenis kunci tugas Algoritma penggabungan kunci
RSA_OAEP_3072_SHA1_AES_256 RSA 3072-bit RSAES-OAEP dengan SHA-1 + AES-KWP
RSA_OAEP_4096_SHA1_AES_256 RSA 4096-bit RSAES-OAEP dengan SHA-1 + AES-KWP
RSA_OAEP_3072_SHA256_AES_256 (direkomendasikan) RSA 3072-bit RSAES-OAEP dengan SHA-256 + AES-KWP
RSA_OAEP_4096_SHA256_AES_256 RSA 4096-bit RSAES-OAEP dengan SHA-256 + AES-KWP
RSA_OAEP_3072_SHA256 RSA 3072-bit RSAES-OAEP dengan SHA-256
RSA_OAEP_4096_SHA256 RSA 4096-bit RSAES-OAEP dengan SHA-256

Algoritma penggabungan kunci

Metode impor yang disediakan oleh Cloud KMS sesuai dengan algoritma enkapsulasi kunci berikut:

RSAES-OAEP dengan SHA-1/SHA-256 + AES-KWP

Algoritma wrapping kunci ini adalah skema enkripsi campuran yang terdiri dari operasi wrapping kunci asimetris dan operasi wrapping kunci simetris:

  1. Kunci publik dari tugas impor digunakan untuk mengenkripsi kunci AES-256 sekali pakai. Enkripsi dilakukan menggunakan RSAES-OAEP dan MGF-1, bersama dengan algoritma ringkasan yang ditentukan oleh metode impor. Kunci AES-256 sekali pakai dibuat pada saat penggabungan dilakukan.
  2. Kunci AES-256 sekali pakai dari langkah 1 digunakan untuk mengenkripsi materi kunci target menggunakan AES Key Wrap with Padding.

Materi kunci yang digabungkan untuk impor adalah array byte tunggal yang terdiri dari hasil langkah 1, diikuti dengan hasil langkah 2. Dengan kata lain, hasil langkah 1 dan 2 digabungkan untuk membentuk materi kunci yang digabungkan.

Algoritma ini sama dengan algoritma wrapping kunci PKCS #11 CKM_RSA_AES_KEY_WRAP. Jika Anda mengimpor kunci dari HSM, dan HSM Anda mendukung algoritma ini, Anda dapat menggunakannya secara langsung. Atau, langkah 1 dan 2 di atas dapat dilakukan dengan mekanisme PKCS #11 CKM_RSA_PKCS_OAEP dan CKM_AES_KEY_WRAP_PAD.

Jika HSM sumber (atau penyedia kunci lainnya jika tidak menggunakan HSM) tidak mendukung mekanisme penggabungan kunci RSA AES, Anda harus menggabungkan materi kunci secara manual menggunakan kunci publik tugas impor. Untuk mengetahui salah satu contoh cara melakukannya menggunakan OpenSSL, lihat Menggabungkan kunci menggunakan OpenSSL di Linux.

RSAES-OAEP dengan SHA-256

Ini adalah operasi penggabungan kunci asimetris yang menggunakan kunci publik dari tugas impor dengan RSAES-OAEP, menggunakan MGF-1 dan algoritma ringkasan SHA-256, untuk mengenkripsi langsung materi kunci target. Ini didasarkan pada mekanisme RSA OAEP PKCS #11 CKM_RSA_PKCS_OAEP. Batasan ukuran yang terkait dengan metode impor ini membuatnya tidak cocok untuk mengimpor kunci pribadi RSA.