Ekspor salinan teks biasa dari kunci menggunakan AWS CloudHSM KMU - AWS CloudHSM

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

Ekspor salinan teks biasa dari kunci menggunakan AWS CloudHSM KMU

Gunakan exSymKey perintah di alat AWS CloudHSM key_mgmt_util untuk mengekspor salinan teks biasa dari kunci simetris dari modul keamanan perangkat keras () HSM dan menyimpannya dalam file pada disk. Untuk mengekspor salinan kunci terenkripsi (dibungkus), gunakan. wrapKey Untuk mengimpor kunci plaintext, seperti yang exSymKey mengekspor, gunakan. imSymKey

Selama proses ekspor, exSymKey gunakan AES kunci yang Anda tentukan (kunci pembungkus) untuk membungkus (mengenkripsi) dan kemudian membuka (mendekripsi) kunci yang akan diekspor. Namun, hasil dari operasi ekspor adalah plaintext (terbuka) pada disk.

Hanya pemilik kunci, yaitu pengguna CU yang membuat kunci, dapat mengekspornya. Pengguna yang berbagi kunci dapat menggunakannya dalam operasi kriptografi, tetapi mereka tidak dapat mengekspornya.

exSymKeyOperasi menyalin materi kunci ke file yang Anda tentukan, tetapi tidak menghapus kunci dariHSM, mengubah atribut kuncinya, atau mencegah Anda menggunakan kunci dalam operasi kriptografi. Anda dapat mengekspor kunci yang sama beberapa kali.

exSymKey mengekspor hanya kunci simetris. Untuk mengekspor kunci publik, gunakan exportPubKey. Untuk mengekspor kunci pribadi, gunakan exportPrivateKey.

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

Sintaks

exSymKey -h exSymKey -k <key-to-export> -w <wrapping-key> -out <key-file> [-m 4] [-wk <unwrapping-key-file> ]

Contoh

Contoh-contoh ini menunjukkan cara menggunakan exSymKey untuk mengekspor kunci simetris yang Anda miliki dari kunci simetris AndaHSMs.

contoh : Ekspor 3 kunci DES simetris

Perintah ini mengekspor kunci simetris Triple DES (3DES) (pegangan 7 kunci). Ini menggunakan AES kunci yang ada (pegangan kunci6) di HSM sebagai kunci pembungkus. Kemudian ia menulis plaintext dari 3 DES kunci ke file. 3DES.key

Output menunjukkan bahwa kunci 7 (DESkunci 3) berhasil dibungkus dan dibuka, dan kemudian ditulis ke 3DES.key file.

Awas

Meskipun output mengatakan bahwa “Kunci Simetris Terbungkus” ditulis ke file output, file output berisi kunci plaintext (terbuka).

Command: exSymKey -k 7 -w 6 -out 3DES.key Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS Wrapped Symmetric Key written to file "3DES.key"
contoh : Mengekspor dengan kunci pembungkus khusus sesi

Contoh ini menunjukkan bagaimana menggunakan kunci yang ada hanya dalam sesi sebagai kunci pembungkus. Karena kunci yang akan diekspor dibungkus, segera dibuka, dan dikirim sebagai plaintext, tidak perlu menyimpan kunci pembungkus.

Rangkaian perintah ini mengekspor AES kunci dengan pegangan kunci 8 dari file. HSM Ini menggunakan kunci AES sesi yang dibuat khusus untuk tujuan tersebut.

Perintah pertama digunakan genSymKeyuntuk membuat kunci 256-bitAES. Perintah ini menggunakan parameter -sess untuk membuat kunci yang ada hanya dalam sesi saat ini.

Output menunjukkan bahwa tombol HSM create262168.

Command: genSymKey -t 31 -s 32 -l AES-wrapping-key -sess Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 262168 Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS

Selanjutnya, contoh memverifikasi bahwa kunci 8, kunci yang akan diekspor, adalah kunci simetris yang dapat diekstrak. Ini juga memverifikasi bahwa kunci pembungkus, kunci262168, adalah AES kunci yang hanya ada di sesi. Anda dapat menggunakan findKeyperintah, tetapi contoh ini mengekspor atribut dari kedua kunci ke file dan kemudian menggunakan grep untuk menemukan nilai atribut yang relevan dalam file.

Perintah ini menggunakan getAttribute dengan -a bernilai 512 (all) untuk mendapatkan semua atribut untuk kunci 8 dan 262168. Untuk informasi tentang elemen atribut kunci, lihat AWS CloudHSM referensi atribut kunci untuk KMU.

getAttribute -o 8 -a 512 -out attributes/attr_8 getAttribute -o 262168 -a 512 -out attributes/attr_262168

Perintah ini menggunakan grep untuk memverifikasi atribut kunci yang akan diekspor (kunci 8) dan kunci pembungkus hanya sesi (kunci 262168).

// Verify that the key to be exported is a symmetric key. $ grep -A 1 "OBJ_ATTR_CLASS" attributes/attr_8 OBJ_ATTR_CLASS 0x04 // Verify that the key to be exported is extractable. $ grep -A 1 "OBJ_ATTR_KEY_TYPE" attributes/attr_8 OBJ_ATTR_EXTRACTABLE 0x00000001 // Verify that the wrapping key is an AES key $ grep -A 1 "OBJ_ATTR_KEY_TYPE" attributes/attr_262168 OBJ_ATTR_KEY_TYPE 0x1f // Verify that the wrapping key is a session key $ grep -A 1 "OBJ_ATTR_TOKEN" attributes/attr_262168 OBJ_ATTR_TOKEN 0x00 // Verify that the wrapping key can be used for wrapping $ grep -A 1 "OBJ_ATTR_WRAP" attributes/attr_262168 OBJ_ATTR_WRAP 0x00000001

Akhirnya, kami menggunakan perintah exSymKey untuk mengekspor kunci 8 menggunakan kunci sesi (kunci 262168) sebagai kunci pembungkus.

Saat sesi berakhir, kunci 262168 sudah tidak ada lagi.

Command: exSymKey -k 8 -w 262168 -out aes256_H8.key Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS Wrapped Symmetric Key written to file "aes256_H8.key"
contoh : Gunakan kunci membuka bungkusan eksternal

Contoh ini menunjukkan cara menggunakan kunci unwrapping eksternal untuk mengekspor kunci dari. HSM

Saat Anda mengekspor kunci dariHSM, Anda menentukan AES kunci HSM untuk menjadi kunci pembungkus. Secara default, bahwa kunci pembungkus digunakan untuk membungkus dan membuka kunci yang akan diekspor. Namun, Anda dapat menggunakan parameter -wk untuk memberitahu exSymKey untuk menggunakan kunci eksternal dalam file pada disk untuk membuka bungkus. Ketika Anda melakukannya, kunci yang ditentukan oleh parameter -w membungkus kunci target, dan kunci dalam file yang ditentukan oleh parameter -wk membuka kunci.

Karena kunci pembungkus harus berupa AES kunci, yang simetris, kunci pembungkus pada kunci HSM dan membuka bungkusan pada disk harus memiliki bahan kunci yang sama. Untuk melakukan ini, Anda harus mengimpor kunci pembungkus ke HSM atau mengekspor kunci pembungkus dari HSM sebelum operasi ekspor.

Contoh ini membuat kunci di luar HSM dan mengimpornya ke dalam. HSM Contoh ini menggunakan salinan internal kunci untuk membungkus kunci simetris yang sedang diekspor, dan salinan kunci dalam file untuk membukanya.

Perintah pertama menggunakan Open SSL untuk menghasilkan kunci 256-bitAES. Perintah ini menyimpan kunci ke file aes256-forImport.key. SSLPerintah Open tidak mengembalikan output apa pun, tetapi Anda dapat menggunakan beberapa perintah untuk mengkonfirmasi keberhasilannya. Contoh ini menggunakan alat wc (wordcount) alat, yang mengonfirmasi bahwa file berisi 32 byte data.

$ openssl rand -out keys/aes256-forImport.key 32 $ wc keys/aes256-forImport.key 0 2 32 keys/aes256-forImport.key

Perintah ini menggunakan imSymKeyperintah untuk mengimpor AES kunci dari aes256-forImport.key file ke fileHSM. Ketika perintah selesai, kunci ada di pegangan kunci HSM with 262167 dan di aes256-forImport.key file.

Command: imSymKey -f keys/aes256-forImport.key -t 31 -l aes256-imported -w 6 Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Unwrapped. Key Handle: 262167 Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Perintah ini menggunakan kunci dalam operasi ekspor. Perintah ini digunakan exSymKey untuk mengekspor kunci21, kunci 192-bitAES. Untuk membungkus kunci, ia menggunakan kunci262167, yang merupakan salinan yang diimpor keHSM. Untuk membuka kunci, perintah menggunakan bahan kunci yang sama dalam file aes256-forImport.key. Saat perintah selesai, kunci 21 diekspor ke file aes192_h21.key.

Command: exSymKey -k 21 -w 262167 -out aes192_H21.key -wk aes256-forImport.key Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS Wrapped Symmetric Key written to file "aes192_H21.key"

Parameter

-h

Menampilkan bantuan untuk perintah.

Wajib: Ya

-k

Menentukan handel kunci dari kunci untuk ekspor. Parameter ini diperlukan. Masukkan handel kunci dari kunci simetris yang Anda miliki. Parameter ini diperlukan. Untuk menemukan pegangan kunci, gunakan findKeyperintah.

Untuk memverifikasi bahwa kunci dapat diekspor, gunakan getAttributeperintah untuk mendapatkan nilai OBJ_ATTR_EXTRACTABLE atribut, yang diwakili oleh konstan354. Selain itu, Anda hanya dapat mengekspor kunci yang Anda miliki. Untuk menemukan pemilik kunci, gunakan getKeyInfoperintah.

Wajib: Ya

-w

Menentukan handel kunci dari kunci pembungkus. Parameter ini diperlukan. Untuk menemukan pegangan kunci, gunakan findKeyperintah.

Kunci pembungkus adalah kunci yang digunakan untuk mengenkripsi (membungkus) dan kemudian mendekripsi (membuka bungkus) kunci yang akan diekspor. HSM Hanya AES kunci yang dapat digunakan sebagai kunci pembungkus.

Anda dapat menggunakan AES kunci apa saja (dari berbagai ukuran) sebagai kunci pembungkus. Karena kunci pembungkus membungkus, dan kemudian segera membuka, kunci target, Anda dapat menggunakan sebagai kunci sesi saja AES sebagai kunci pembungkus. Untuk menentukan apakah kunci dapat digunakan sebagai kunci pembungkus, gunakan getAttributeuntuk mendapatkan nilai OBJ_ATTR_WRAP atribut, yang diwakili oleh konstanta262. Untuk membuat kunci pembungkus, gunakan genSymKeyuntuk membuat AES kunci (tipe 31).

Jika Anda menggunakan parameter -wk untuk menentukan kunci membuka pembungkus eksternal, kunci pembungkus -w digunakan untuk membungkus, tetapi tidak untuk membuka, kunci selama ekspor.

catatan

Kunci 4 merupakan kunci internal yang tidak didukung. Kami menyarankan Anda menggunakan AES kunci yang Anda buat dan kelola sebagai kunci pembungkus.

Wajib: Ya

-out

Menentukan jalur dan nama file output. Ketika perintah berhasil, file ini berisi kunci yang diekspor dalam plaintext. Jika file sudah ada, perintah akan menimpa tanpa peringatan.

Wajib: Ya

-m

Menentukan mekanisme pembungkus. Satu-satunya nilai yang valid adalah 4, yang mewakili mekanisme NIST_AES_WRAP.

Wajib: Tidak

Default: 4 ()

-wk

Gunakan AES kunci dalam file yang ditentukan untuk membuka kunci yang sedang diekspor. Masukkan path dan nama file yang berisi kunci plaintextAES.

Bila Anda menyertakan parameter ini. exSymKeymenggunakan kunci dalam HSM yang ditentukan oleh -w parameter untuk membungkus kunci yang sedang diekspor dan menggunakan kunci dalam -wk file untuk membukanya. Nilai parameter -w dan -wk harus menyelesaikan ke kunci plaintext yang sama.

Wajib: Tidak

Default: Gunakan tombol pembungkus HSM untuk membuka bungkusnya.

Topik terkait