Buka AWS CloudHSM kunci menggunakan KMU - AWS CloudHSM

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Buka AWS CloudHSM kunci menggunakan KMU

Gunakan unWrapKey perintah di alat AWS CloudHSM key_mgmt_util untuk mengimpor kunci simetris atau pribadi yang dibungkus (terenkripsi) dari file ke dalam file. HSM Ini dirancang untuk mengimpor kunci terenkripsi yang dibungkus oleh wrapKeyperintah di key_mgmt_util, tetapi juga dapat digunakan untuk membuka kunci yang dibungkus dengan alat lain. Namun, dalam situasi tersebut, sebaiknya gunakan PKCS#11 atau pustaka JCEperangkat lunak untuk membuka kunci.

Kunci yang diimpor berfungsi seperti kunci yang dihasilkan oleh AWS CloudHSM. Namun, nilai LOCALatribut OBJ _ ATTR _ mereka adalah nol, yang menunjukkan bahwa mereka tidak dihasilkan secara lokal.

Setelah Anda mengimpor kunci, pastikan bahwa Anda menandai atau menghapus file kunci. Perintah ini tidak mencegah Anda dari mengimpor materi kunci yang sama beberapa kali. Hasilnya—beberapa kunci dengan handel kunci yang berbeda dan materi kunci yang sama—menyulitkan untuk melacak penggunaan materi utama dan mencegahnya melebihi batas kriptografinya.

Sebelum Anda menjalankan perintah key_mgmt_util, Anda harus memulai key_mgmt_util dan masuk ke as a crypto user (CU). HSM

Sintaksis

unWrapKey -h unWrapKey -f <key-file-name> -w <wrapping-key-handle> [-sess] [-min_srv <minimum-number-of-HSMs>] [-timeout <number-of-seconds>] [-aad <additional authenticated data filename>] [-tag_size <tag size>] [-iv_file <IV file>] [-attest] [-m <wrapping-mechanism>] [-t <hash-type>] [-nex] [-u <user id list>] [-m_value <number of users needed for approval>] [-noheader] [-l <key-label>] [-id <key-id>] [-kt <key-type>] [-kc <key-class] [-i <unwrapping-IV>]

Contoh

Contoh-contoh ini menunjukkan cara menggunakan unWrapKey untuk mengimpor kunci yang dibungkus dari file ke fileHSMs. Pada contoh pertama, kita membuka kunci yang dibungkus dengan perintah key_mgmt_util wrapKey, dan dengan demikian memiliki header. Pada contoh kedua, kita membuka kunci yang dibungkus di luar key_mgmt_util, dan dengan demikian tidak memiliki header.

contoh : Buka kunci (dengan header)

Perintah ini mengimpor salinan yang dibungkus dari kunci DES simetris 3 ke dalam file. HSM Kuncinya dibuka dengan AES kunci dengan label6, yang secara kriptografis identik dengan yang digunakan untuk membungkus kunci 3. DES Output menunjukkan bahwa kunci dalam file itu dibuka dan diimpor, dan bahwa handel kunci yang diimpor adalah 29.

Command: unWrapKey -f 3DES.key -w 6 -m 4 Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS Key Unwrapped. Key Handle: 29 Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
contoh : Buka kunci (tanpa header)

Perintah ini mengimpor salinan yang dibungkus dari kunci DES simetris 3 ke dalam file. HSM Kuncinya dibuka dengan AES kunci dengan label6, yang secara kriptografis identik dengan yang digunakan untuk membungkus kunci 3. DES Karena DES kunci 3 ini tidak dibungkus dengan key_mgmt_util, parameter ditentukan, bersama dengan noheader parameter yang menyertainya yang diperlukan: label kunci (), kelas kunci (unwrapped3DES), dan tipe kunci (). 4 21 Output menunjukkan bahwa kunci dalam file itu dibuka dan diimpor, dan bahwa handel kunci yang diimpor adalah 8.

Command: unWrapKey -f 3DES.key -w 6 -noheader -l unwrapped3DES -kc 4 -kt 21 -m 4 Cfm3CreateUnwrapTemplate2 returned: 0x00 : HSM Return: SUCCESS Cfm2UnWrapWithTemplate3 returned: 0x00 : HSM Return: SUCCESS Key Unwrapped. Key Handle: 8 Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Parameter

-h

Menampilkan bantuan untuk perintah.

Wajib: Ya

-f

Jalur dan nama file yang berisi kunci yang dibungkus.

Wajib: Ya

-w

Menentukan kunci pembungkus. Masukkan pegangan kunci AES kunci atau RSA kunci pada tombolHSM. Parameter ini diperlukan. Untuk menemukan pegangan kunci, gunakan findKeyperintah.

Untuk membuat kunci pembungkus, gunakan genSymKeyuntuk menghasilkan AES kunci (tipe 31) atau genRSAKeyPair untuk menghasilkan RSA key pair (tipe 0). Jika Anda menggunakan RSA key pair, pastikan untuk membungkus kunci dengan salah satu kunci, dan buka dengan yang lain. Untuk memverifikasi bahwa kunci dapat digunakan sebagai kunci pembungkus, gunakan getAttributeuntuk mendapatkan nilai OBJ_ATTR_WRAP atribut, yang diwakili oleh konstan262.

Wajib: Ya

-sess

Membuat kunci yang hanya ada di sesi saat ini. Kunci tidak dapat dipulihkan setelah sesi berakhir.

Gunakan parameter ini ketika Anda memerlukan kunci hanya sebentar, seperti kunci pembungkus yang mengenkripsi, dan kemudian dengan cepat mendekripsi, kunci lain. Jangan gunakan kunci sesi untuk mengenkripsi data yang mungkin perlu Anda dekripsi setelah sesi berakhir.

Untuk mengubah kunci sesi menjadi kunci persisten (token), gunakan setAttribute.

Default: Kunci persisten.

Wajib: Tidak

-min_srv

Menentukan jumlah minimum HSMs di mana kunci disinkronkan sebelum nilai -timeout parameter berakhir. Jika kunci tidak disinkronkan ke jumlah tertentu server dalam waktu yang ditentukan, kunci tidak dibuat.

AWS CloudHSM secara otomatis menyinkronkan setiap kunci ke setiap HSM di cluster. Untuk mempercepat proses Anda, tetapkan nilai kurang dari jumlah HSMs di cluster dan tetapkan nilai batas waktu yang rendah. min_srv Namun, perhatikan bahwa beberapa permintaan mungkin tidak menghasilkan kunci.

Default: 1

Wajib: Tidak

-timeout

Menentukan berapa lama (dalam detik) perintah menunggu kunci untuk disinkronkan dengan jumlah yang HSMs ditentukan oleh parameter. min_srv

Parameter ini hanya valid jika parameter min_srv juga digunakan dalam perintah.

Default: Tidak ada waktu habis. Perintah menunggu tanpa batas waktu dan kembali hanya ketika kunci disinkronkan ke jumlah minimum server.

Wajib: Tidak

-attest

Menjalankan pemeriksaan integritas yang memverifikasi bahwa firmware tempat klaster berjalan belum dirusak.

Default: Tidak ada pemeriksaan pengesahan.

Wajib: Tidak

-nex

Membuat kunci tidak dapat diekstrak. Kunci yang dihasilkan tidak dapat diekspor dari. HSM

Default: Kunci dapat diekstrak.

Wajib: Tidak

-m

Nilai yang mewakili mekanisme pembungkus. Cloud HSM mendukung mekanisme berikut:

Mekanisme Nilai
AES_KEY_WRAP_PAD_PKCS5 4
NIST_AES_WRAP_NO_PAD 5
NIST_AES_WRAP_PAD 6
RSA_AES 7
RSA_OAEP (untuk ukuran data maksimum, lihat catatan di bagian ini nanti) 8
AES_GCM 10
CLOUDHSM_AES_GCM 11
RSA_PKCS(untuk ukuran data maksimum, lihat catatan nanti di bagian ini). Lihat catatan 1 di bawah untuk perubahan yang akan datang. 12

Wajib: Ya

catatan

Saat menggunakan mekanisme RSA_OAEP pembungkus, ukuran kunci maksimum yang dapat Anda bungkus ditentukan oleh modulus RSA kunci dan panjang hash yang ditentukan sebagai berikut: Ukuran kunci maksimum = modulusLengthIn Bytes- (hashLengthIn2* Bytes) -2.

Saat menggunakan mekanisme PKCS pembungkus RSA _, ukuran kunci maksimum yang dapat Anda bungkus ditentukan oleh modulus RSA kunci sebagai berikut: Ukuran kunci maksimum = (modulusLengthInBytes -11).

-t
Algoritma hash Nilai
SHA1 2
SHA256 3
SHA384 4
SHA512 5
SHA224 (berlaku untuk mekanisme RSA_AES dan RSA_OAEP) 6

Wajib: Tidak

-noheader

Jika Anda membuka kunci yang dibungkus di luar key_mgmt_util, Anda harus menentukan parameter ini dan semua parameter terkait lainnya.

Wajib: Tidak

catatan

Jika Anda menentukan parameter ini, Anda juga harus menentukan parameter berikut -noheader:

  • -l

    Menentukan label yang akan ditambahkan ke kunci terbuka.

    Wajib: Ya

  • -kc

    Menentukan label yang akan ditambahkan ke kunci terbuka. Berikut ini adalah nilai yang dapat diterima:

    3 = kunci privat dari pasangan kunci publik-privat

    4 = kunci rahasia (simetris)

    Wajib: Ya

  • -kt

    Menentukan jenis kunci yang akan dibuka. Berikut ini adalah nilai yang dapat diterima:

    0 = RSA

    1 = DSA

    3 = ECC

    16 = GENERIC_SECRET

    21 = DES3

    31 = AES

    Wajib: Ya

Anda juga dapat secara opsional menentukan parameter berikut -noheader:

  • -id

    ID yang akan ditambahkan ke kunci terbuka.

    Wajib: Tidak

  • -i

    Vektor inisialisasi (IV) pembuka bungkus yang akan digunakan.

    Wajib: Tidak

[1] Sesuai dengan NIST panduan, ini tidak diizinkan untuk cluster dalam FIPS mode setelah 2023. Untuk cluster dalam FIPS mode non-, masih diperbolehkan setelah 2023. Lihat FIPS140 Kepatuhan: Penutupan Mekanisme 2024 untuk detail.

Topik terkait