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 (HSM) Anda. Anda dapat menentukan jenis dan ukuran kunci, menetapkan ID dan label, dan berbagi kunci dengan pengguna HSM lainnya. Anda juga dapat membuat kunci yang tidak dapat diekstrak dan kunci yang kedaluwarsa ketika sesi berakhir. Ketika perintah berhasil, perintah mengembalikan handel kunci yang HSM tetapkan 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 HSM sebagai pengguna kripto (CU).
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 Anda HSMs.
Tip
Untuk menggunakan kunci yang Anda buat dengan contoh-contoh ini untuk operasi HMAC, Anda harus mengatur OBJ_ATTR_SIGN
dan OBJ_ATTR_VERIFY
menjadi TRUE
setelah Anda menghasilkan kunci. Untuk menetapkan nilai-nilai ini, gunakan setAttribute di Utilitas Manajemen CloudHSM (CMU). Untuk informasi lebih lanjut, lihat setAttribute.
contoh : Hasilkan kunci AES
Perintah ini membuat kunci AES 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 kunci AES 192-bit yang tidak dapat diekstrak yang valid hanya dalam 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, perintah 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 kunci Triple DES dengan label 3DES_shared
dan ID dari IT-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 kunci 3DES baru dimiliki oleh pengguna saat ini dan dibagikan dengan pengguna 4 dan 5, gunakan getKeyInfo. 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 mengonfirmasi bahwa kunci 7 adalah 192-bit (OBJ_ATTR_VALUE_LEN
0x00000018
atau 24-byte) 3DES (OBJ_ATTR_KEY_TYPE 0x15
) kunci simetris (OBJ_ATTR_CLASS 0x04
) dengan label3DES_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 jenis, panjang, label, dan ID, gunakan getAttribute. Untuk menemukan kunci untuk pengguna tertentu, gunakan getKeyInfo. Untuk menemukan kunci berdasarkan nilai atribut mereka, 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 operasi HMAC, Anda harus mengatur OBJ_ATTR_SIGN
dan OBJ_ATTR_VERIFY
menjadi TRUE
setelah Anda menghasilkan kunci. Untuk menetapkan nilai-nilai ini, gunakan setAttribute di CMU. 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 kunci AES, ketik
-t 31
.Nilai yang valid:
-
16: GENERIC_SECRET
. Kunci rahasia generik adalah array byte yang tidak sesuai dengan standar tertentu, seperti persyaratan untuk kunci AES. -
18: RC4
. RC4 kunci tidak valid pada mode FIPS HSMs -
21: Tiga DES (3DES)
. Sesuai dengan panduan NIST, ini tidak diizinkan untuk cluster dalam mode FIPS setelah 2023. Untuk cluster dalam mode non-FIPS, masih diperbolehkan setelah 2023. Lihat Kepatuhan FIPS 140: 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
sampai8
.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 persyaratanm_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 (token) persisten, 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 kripto HSM lainnya (CUs) untuk menggunakan kunci ini dalam operasi kriptografi.
Ketik daftar pengguna HSM yang dipisahkan koma IDs, seperti -.
u 5,6
Jangan sertakan ID pengguna HSM dari pengguna saat ini. Untuk menemukan pengguna IDs HSM CUs di HSM, gunakan ListUsers. Untuk berbagi atau batal berbagi kunci yang ada, gunakan shareKey di cloudhsm_mgmt_util.Default: Hanya pengguna saat ini dapat menggunakan kunci privat.
Wajib: Tidak