Hasilkan kunci AWS CloudHSM simetris menggunakan KMU - AWS CloudHSM

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

Hasilkan kunci AWS CloudHSM simetris menggunakan KMU

Gunakan genSymKey perintah di alat AWS CloudHSM key_mgmt_util untuk menghasilkan kunci simetris dalam modul keamanan perangkat keras Anda (). HSM Anda dapat menentukan jenis dan ukuran kunci, menetapkan ID dan label, dan berbagi kunci dengan HSM pengguna lain. Anda juga dapat membuat kunci yang tidak dapat diekstrak dan kunci yang kedaluwarsa ketika sesi berakhir. Ketika perintah berhasil, ia mengembalikan pegangan kunci yang diberikan HSM ke kunci. Anda dapat menggunakan handel kunci untuk mengidentifikasi kunci untuk perintah lain.

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

Sintaks

genSymKey -h genSymKey -t <key-type> -s <key-size> -l <label> [-id <key-ID>] [-min_srv <minimum-number-of-servers>] [-m_value <0..8>] [-nex] [-sess] [-timeout <number-of-seconds> ] [-u <user-ids>] [-attest]

Contoh

Contoh-contoh ini menunjukkan cara menggunakan genSymKey untuk membuat kunci simetris di AndaHSMs.

Tip

Untuk menggunakan kunci yang Anda buat dengan contoh-contoh ini untuk HMAC operasi, Anda harus mengatur OBJ_ATTR_SIGN dan OBJ_ATTR_VERIFY TRUE setelah Anda membuat kunci. Untuk menetapkan nilai-nilai ini, gunakan setAttribute di Cloud HSM Management Utility (CMU). Untuk informasi lebih lanjut, lihat setAttribute.

contoh : Menghasilkan AES kunci

Perintah ini membuat AES kunci 256-bit dengan label. aes256 Output menunjukkan bahwa handel kunci dari kunci baru adalah 6.

Command: genSymKey -t 31 -s 32 -l aes256 Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 6 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
contoh : Buat kunci sesi

Perintah ini membuat AES kunci 192-bit yang tidak dapat diekstraksi yang hanya valid di sesi saat ini. Anda mungkin perlu membuat kunci seperti ini untuk membungkus (dan kemudian segera membuka) kunci yang sedang diekspor.

Command: genSymKey -t 31 -s 24 -l tmpAES -id wrap01 -nex -sess
contoh : Kembali dengan cepat

Perintah ini membuat kunci 512-byte generik dengan label IT_test_key. Perintah tidak menunggu kunci disinkronkan ke semua HSMs di cluster. Sebaliknya, ia kembali segera setelah kunci dibuat pada salah satu HSM (-min_srv 1) atau dalam 1 detik (-timeout 1), mana yang lebih pendek. Jika kunci tidak disinkronkan dengan jumlah minimum yang ditentukan HSMs sebelum batas waktu berakhir, itu tidak dihasilkan. Anda mungkin ingin menggunakan perintah seperti ini dalam skrip yang membuat banyak kunci, seperti for pada contoh berikut.

Command: genSymKey -t 16 -s 512 -l IT_test_key -min_srv 1 -timeout 1 $ for i in {1..30}; do /opt/cloudhsm/bin/key_mgmt_util singlecmd loginHSM -u CU -s example_user -p example_pwd genSymKey -l aes -t 31 -s 32 -min_srv 1 -timeout 1; done;
contoh : Buat kunci generik resmi kuorum

Perintah ini membuat kunci rahasia generik 2048-bit dengan label generic-mV2. Perintah menggunakan parameter -u untuk berbagi kunci dengan CU lain, pengguna 6. Perintah menggunakan parameter -m_value untuk mengharuskan kuorum setidaknya dua persetujuan untuk setiap operasi kriptografi yang menggunakan kunci. Perintah ini juga menggunakan parameter -attest untuk memverifikasi integritas firmware tempat kunci dihasilkan.

Output menunjukkan bahwa perintah menghasilkan kunci dengan handel kunci 9 dan bahwa pemeriksaan pengesahan pada firmware klaster telah dilewatkan.

Command: genSymKey -t 16 -s 2048 -l generic-mV2 -m_value 2 -u 6 -attest Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 9 Attestation Check : [PASS] Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
contoh : Buat dan periksa kunci

Perintah ini membuat DES kunci Triple dengan 3DES_shared label dan ID dariIT-02. Kuncinya bisa digunakan oleh pengguna saat ini, dan pengguna 4 dan 5. Perintah gagal jika ID tidak unik dalam klaster atau jika pengguna saat ini adalah pengguna 4 atau 5.

Output menunjukkan bahwa kunci baru memiliki handel kunci 7.

Command: genSymKey -t 21 -s 24 -l 3DES_shared -id IT-02 -u 4,5 Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 7 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Untuk memverifikasi bahwa DES kunci 3 baru dimiliki oleh pengguna saat ini dan dibagikan dengan pengguna 4 dan 5, gunakangetKeyInfo. Perintah menggunakan handel yang ditetapkan ke kunci baru (Key Handle: 7).

Output menunjukkan bahwa kunci tersebut dimiliki oleh pengguna 3 dan berbagi dengan pengguna 4 dan 5.

Command: getKeyInfo -k 7 Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS Owned by user 3 also, shared to following 2 user(s): 4, 5

Untuk mengonfirmasi properti lain dari kunci, gunakan getAttribute. Perintah pertama menggunakan getAttribute untuk mendapatkan semua atribut (-a 512) dari handel kunci 7 (-o 7). Perintah menuliskannya ke file attr_7. Perintah kedua menggunakan cat untuk mendapatkan konten file attr_7.

Perintah ini menegaskan bahwa kunci 7 adalah 192-bit (OBJ_ATTR_VALUE_LEN 0x00000018atau 24-byte) 3 DES (OBJ_ATTR_KEY_TYPE 0x15) kunci simetris (OBJ_ATTR_CLASS 0x04) dengan label 3DES_shared (OBJ_ATTR_LABEL 3DES_shared) dan ID dari (). IT_02 OBJ_ATTR_ID IT-02 Kunci persisten (OBJ_ATTR_TOKEN 0x01) dan dapat diekstrak (OBJ_ATTR_EXTRACTABLE 0x01) dan dapat digunakan untuk enkripsi, dekripsi, dan pembungkus.

Tip

Untuk menemukan atribut kunci yang telah Anda buat, seperti tipe, panjang, label, dan ID, gunakan getAttribute. Untuk menemukan kunci untuk pengguna tertentu, gunakan getKeyInfo. Untuk menemukan kunci berdasarkan nilai atributnya, gunakan findKey.

Untuk membantu menafsirkan atribut kunci, lihat AWS CloudHSM referensi atribut kunci untuk KMU.

Command: getAttribute -o 7 -a 512 -out attr_7 got all attributes of size 444 attr cnt 17 Attributes dumped into attr_7 file Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS $ cat attr_7 OBJ_ATTR_CLASS 0x04 OBJ_ATTR_KEY_TYPE 0x15 OBJ_ATTR_TOKEN 0x01 OBJ_ATTR_PRIVATE 0x01 OBJ_ATTR_ENCRYPT 0x01 OBJ_ATTR_DECRYPT 0x01 OBJ_ATTR_WRAP 0x00 OBJ_ATTR_UNWRAP 0x00 OBJ_ATTR_SIGN 0x00 OBJ_ATTR_VERIFY 0x00 OBJ_ATTR_LOCAL 0x01 OBJ_ATTR_SENSITIVE 0x01 OBJ_ATTR_EXTRACTABLE 0x01 OBJ_ATTR_LABEL 3DES_shared OBJ_ATTR_ID IT-02 OBJ_ATTR_VALUE_LEN 0x00000018 OBJ_ATTR_KCV 0x59a46e
Tip

Untuk menggunakan kunci yang Anda buat dengan contoh-contoh ini untuk HMAC operasi, Anda harus mengatur OBJ_ATTR_SIGN dan OBJ_ATTR_VERIFY TRUE setelah Anda membuat kunci. Untuk mengatur nilai-nilai ini, gunakan setAttribute dalamCMU. Untuk informasi lebih lanjut, lihat setAttribute.

Parameter

-h

Menampilkan bantuan untuk perintah.

Wajib: Ya

-t

Menentukan jenis kunci simetris. Masukkan konstanta yang mewakili jenis kunci. Misalnya, untuk membuat AES kunci, ketik-t 31.

Nilai valid:

  • 16: GENERIC_ SECRET. Kunci rahasia generik adalah array byte yang tidak sesuai dengan standar tertentu, seperti persyaratan untuk kunci. AES

  • 18: RC4. RC4kunci tidak valid pada FIPS -mode HSMs

  • 21: Tiga kali lipat DES (3DES). 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.

  • 31: AES

Wajib: Ya

-s

Menentukan ukuran kunci dalam byte. Misalnya, untuk membuat kunci 192-bit, ketik 24.

Nilai yang valid untuk setiap jenis kunci:

  • AES: 16 (128 bit), 24 (192 bit), 32 (256 bit)

  • 3DES: 24 (192 bit)

  • Rahasia Generik: <3584 (28672 bit)

Wajib: Ya

-l

Menentukan label yang ditetapkan pengguna untuk kunci. Ketik string.

Anda dapat menggunakan frasa apa pun yang membantu Anda mengidentifikasi kunci. Karena label tidak harus unik, Anda dapat menggunakannya pada grup dan mengelompokkan kunci.

Wajib: Ya

-attest

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

Default: Tidak ada pemeriksaan pengesahan.

Wajib: Tidak

-id

Menentukan pengenal yang ditetapkan pengguna untuk kunci. Ketik string yang unik dalam klaster. Default-nya adalah string kosong.

Default: Tidak ada nilai ID.

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

-m_value

Menentukan jumlah pengguna yang harus menyetujui operasi kriptografi yang menggunakan kunci. Ketik nilai dari 0 sampai 8.

Parameter ini menetapkan persyaratan autentikasi kuorum untuk kunci. Nilai default, 0, menonaktifkan fitur autentikasi kuorum untuk kunci. Ketika autentikasi kuorum diaktifkan, jumlah tertentu pengguna harus menandatangani token untuk menyetujui operasi kriptografi yang menggunakan kunci, dan operasi yang berbagi atau batal berbagi kunci.

Untuk menemukan kunci, gunakan getKeyInfo. m_value

Parameter ini hanya valid jika parameter -u dalam perintah membagikan kunci dengan cukup pengguna untuk memenuhi persyaratan m_value.

Default: 0

Wajib: Tidak

-nex

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

Default: Kunci dapat diekstrak.

Wajib: Tidak

-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

-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

-u

Berbagi kunci dengan pengguna tertentu. Parameter ini memberikan izin kepada pengguna HSM kripto lainnya (CUs) untuk menggunakan kunci ini dalam operasi kriptografi.

Ketik daftar HSM pengguna yang dipisahkan komaIDs, seperti -. u 5,6 Jangan sertakan ID HSM pengguna pengguna saat ini. Untuk menemukan HSM pengguna IDs CUs diHSM, gunakan listUsers. Untuk berbagi dan membatalkan berbagi kunci yang ada, gunakan shareKeydi cloudhsm_mgmt_util.

Default: Hanya pengguna saat ini dapat menggunakan kunci privat.

Wajib: Tidak

Topik terkait