GenRSA KeyPair - AWS CloudHSM

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

GenRSA KeyPair

Perintah genRSAKeyPair di alat key_mgmt_util menghasilkan sebuah pasangan kunci asimetris RSA. Anda menentukan jenis kunci, panjang modulus, dan eksponen publik. Perintah menghasilkan modulus dari panjang yang ditentukan dan membuat pasangan kunci. Anda dapat menetapkan ID, berbagi kunci dengan pengguna HSM lainnya, 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).

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.

Sintaks

genRSAKeyPair -h genRSAKeyPair -m <modulus length> -e <public exponent> -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 ini menunjukkan cara menggunakan genRSAKeyPair untuk membuat pasangan kunci asimetris di HSM Anda.

contoh : Buat dan periksa key pair RSA

Perintah ini menciptakan key pair RSA dengan modulus 2048-bit dan eksponen 65537. Output menunjukkan bahwa handel kunci publik adalah 2100177 dan handel kunci privat adalah 2100426.

Command: genRSAKeyPair -m 2048 -e 65537 -l rsa_test Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 2100177 private key handle: 2100426 Cluster Status: Node id 0 status: 0x00000000 : HSM Return: SUCCESS Node id 1 status: 0x00000000 : HSM Return: SUCCESS

Perintah berikutnya menggunakan getAttribute untuk mendapatkan atribut kunci publik yang baru saja kita buat. Perintah ini menulis output ke file attr_2100177. Hal ini diikuti oleh perintah cat yang mendapat isi dari file atribut. Untuk membantu menafsirkan atribut kunci, lihat Referensi Atribut Kunci.

Nilai heksadesimal yang dihasilkan mengonfirmasi bahwa itu adalah kunci publik (OBJ_ATTR_CLASS 0x02) dengan jenis RSA (OBJ_ATTR_KEY_TYPE 0x00). Anda dapat menggunakan kunci publik ini untuk mengenkripsi (OBJ_ATTR_ENCRYPT 0x01), tetapi tidak untuk mendekripsi (). OBJ_ATTR_DECRYPT 0x00 Hasilnya juga mencakup panjang kunci (512,0x200), modulus, panjang modulus (2048,0x800), dan eksponen publik (65537,). 0x10001

Command: getAttribute -o 2100177 -a 512 -out attr_2100177 Attribute size: 801, count: 26 Written to: attr_2100177 file Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS $ cat attr_2100177 OBJ_ATTR_CLASS 0x02 OBJ_ATTR_KEY_TYPE 0x00 OBJ_ATTR_TOKEN 0x01 OBJ_ATTR_PRIVATE 0x01 OBJ_ATTR_ENCRYPT 0x01 OBJ_ATTR_DECRYPT 0x00 OBJ_ATTR_WRAP 0x01 OBJ_ATTR_UNWRAP 0x00 OBJ_ATTR_SIGN 0x00 OBJ_ATTR_VERIFY 0x01 OBJ_ATTR_LOCAL 0x01 OBJ_ATTR_SENSITIVE 0x00 OBJ_ATTR_EXTRACTABLE 0x01 OBJ_ATTR_LABEL rsa_test OBJ_ATTR_ID OBJ_ATTR_VALUE_LEN 0x00000200 OBJ_ATTR_KCV 0xc51c18 OBJ_ATTR_MODULUS 0xbb9301cc362c1d9724eb93da8adab0364296bde7124a241087d9436b9be57e4f7780040df03c2c 1c0fe6e3b61aa83c205280119452868f66541bbbffacbbe787b8284fc81deaeef2b8ec0ba25a077d 6983c77a1de7b17cbe8e15b203868704c6452c2810344a7f2736012424cf0703cf15a37183a1d2d0 97240829f8f90b063dd3a41171402b162578d581980976653935431da0c1260bfe756d85dca63857 d9f27a541676cb9c7def0ef6a2a89c9b9304bcac16fdf8183c0a555421f9ad5dfeb534cf26b65873 970cdf1a07484f1c128b53e10209cc6f7ac308669112968c81a5de408e7f644fe58b1a9ae1286fec b3e4203294a96fae06f8f0db7982cb5d7f OBJ_ATTR_MODULUS_BITS 0x00000800 OBJ_ATTR_PUBLIC_EXPONENT 0x010001 OBJ_ATTR_TRUSTED 0x00 OBJ_ATTR_WRAP_WITH_TRUSTED 0x00 OBJ_ATTR_DESTROYABLE 0x01 OBJ_ATTR_DERIVE 0x00 OBJ_ATTR_ALWAYS_SENSITIVE 0x00 OBJ_ATTR_NEVER_EXTRACTABLE 0x00
contoh : Buat key pair RSA bersama

Perintah ini menghasilkan pasangan kunci RSA dan berbagi kunci privat dengan pengguna 4, CU lain pada HSM. Perintah menggunakan parameter m_value untuk mengharuskan setidaknya dua persetujuan sebelum kunci privat dalam pasangan dapat digunakan dalam operasi kriptografi. Ketika Anda menggunakan parameter m_value, Anda juga harus menggunakan -u dalam perintah dan m_value tidak dapat melebihi jumlah total pengguna (jumlah nilai dalam -u + pemilik).

Command: genRSAKeyPair -m 2048 -e 65537 -l rsa_mofn -id rsa_mv2 -u 4 -m_value 2 Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 27 private key handle: 28 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS

Parameter

-h

Menampilkan bantuan untuk perintah.

Wajib: Ya

-m

Menentukan panjang modulus dalam bit. Nilai minimum adalah 2048.

Wajib: Ya

-e

Menentukan eksponen publik. Nilai harus angka ganjil yang lebih besar dari atau sama dengan 65537.

Wajib: Ya

-l

Menentukan label yang ditetapkan pengguna untuk pasangan kunci. Ketik string. Label yang sama berlaku untuk kedua kunci dalam pasangan. Ukuran maksimum yang diijinkan label adalah 127 karakter.

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

-id

Menentukan pengenal yang ditetapkan pengguna untuk pasangan kunci. Ketik string yang unik dalam klaster. Default-nya adalah string kosong. ID yang Anda tentukan berlaku untuk kedua kunci dalam pasangan.

Default: Tidak ada nilai ID.

Wajib: Tidak

-min_srv

Menentukan jumlah minimum HSM tempat kunci disinkronkan sebelum nilai parameter -timeout kedaluwarsa. 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 min_srv menjadi kurang dari jumlah HSM di klaster dan menetapkan nilai waktu habis rendah. 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 privat pada pasangan. Ketik nilai dari 0 sampai 8.

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

Untuk menemukan kunci, gunakan getKeyInfo. m_value

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

Default: 0

Wajib: Tidak

-nex

Membuat kunci privat yang tidak dapat diesktrak. Kunci privat yang dihasilkan tidak dapat diekspor dari HSM. Kunci publik selalu dapat diekstrak.

Default: Kedua kunci publik dan privat dalam pasangan 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 yang akan disinkronkan dengan jumlah HSM yang 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 privat pada pasangan dengan pengguna tertentu. Parameter ini memberikan izin pengguna kripto (CU) HSM lainnya untuk menggunakan kunci privat dalam operasi kriptografi. Kunci publik dapat digunakan oleh pengguna tanpa berbagi.

Ketik daftar ID pengguna HSM yang dipisahkan koma, seperti -u 5,6. Jangan sertakan ID pengguna HSM dari pengguna saat ini. Untuk menemukan ID pengguna HSM dari pengguna di HSM Anda, 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

-attest

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

Default: Tidak ada pemeriksaan pengesahan.

Wajib: Tidak

Topik terkait