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.
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 mekanismeNIST_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.
exSymKey
menggunakan 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.