GeneCC KeyPair - AWS CloudHSM

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

GeneCC KeyPair

Perintah genECCKeyPair di alat key_mgmt_util menghasilkan sebuah pasangan kunci Kriptografi Kurva Elipsis (ECC) di HSM Anda. Ketika menjalankan perintah genECCKeyPair, Anda harus menentukan pengenal kurva elips dan label untuk pasangan kunci. Anda juga dapat berbagi kunci privat dengan pengguna CU lainnya, membuat kunci yang tidak dapat diekstrak, kunci dikendalikan kuorum, dan kunci yang kedaluwarsa ketika sesi berakhir. Ketika perintah berhasil, perintah mengembalikan handel kunci yang HSM tetapkan ke kunci ECC publik dan privat. 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

genECCKeyPair -h genECCKeyPair -i <EC curve id> -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 berikut menunjukkan cara menggunakan genECCKeyPair untuk membuat pasangan kunci ECC di HSM Anda.

contoh : Membuat dan memeriksa sebuah key pair ECC

Perintah ini menggunakan kurva eliptik NID_Secp384R1 dan label untuk membuat key pair ECC. ecc14 Output menunjukkan bahwa handel kunci dari kunci privat adalah 262177 dan handel kunci dari kunci publik adalah 262179. Label berlaku untuk kunci publik dan privat.

Command: genECCKeyPair -i 14 -l ecc14 Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 262179 private key handle: 262177 Cluster Error Status Node id 2 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Setelah menghasilkan kunci, Anda dapat memeriksa atributnya. Gunakan getAttribute untuk menulis semua atribut (diwakili oleh konstanta 512) dari kunci privat ECC baru ke file attr_262177.

Command: getAttribute -o 262177 -a 512 -out attr_262177 got all attributes of size 529 attr cnt 19 Attributes dumped into attr_262177 Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS

Kemudian gunakan perintah cat untuk melihat isi file atribut attr_262177. Output menunjukkan kunci adalah kunci privat kurva elips yang dapat digunakan untuk penandatanganan, tetapi tidak untuk mengenkripsi, mendekripsi, membungkus, membuka bungkus, atau memverifikasi. Kunci bersifat persisten dan dapat diekspor.

$ cat attr_262177 OBJ_ATTR_CLASS 0x03 OBJ_ATTR_KEY_TYPE 0x03 OBJ_ATTR_TOKEN 0x01 OBJ_ATTR_PRIVATE 0x01 OBJ_ATTR_ENCRYPT 0x00 OBJ_ATTR_DECRYPT 0x00 OBJ_ATTR_WRAP 0x00 OBJ_ATTR_UNWRAP 0x00 OBJ_ATTR_SIGN 0x01 OBJ_ATTR_VERIFY 0x00 OBJ_ATTR_LOCAL 0x01 OBJ_ATTR_SENSITIVE 0x01 OBJ_ATTR_EXTRACTABLE 0x01 OBJ_ATTR_LABEL ecc2 OBJ_ATTR_ID OBJ_ATTR_VALUE_LEN 0x0000008a OBJ_ATTR_KCV 0xbbb32a OBJ_ATTR_MODULUS 044a0f9d01d10f7437d9fa20995f0cc742552e5ba16d3d7e9a65a33e20ad3e569e68eb62477a9960a87911e6121d112b698e469a0329a665eba74ee5ac55eae9f5 OBJ_ATTR_MODULUS_BITS 0x0000019f
contoh Menggunakan kurva EEC yang tidak valid

Perintah ini mencoba untuk membuat pasangan kunci ECC dengan menggunakan kurva NID_X9_62_prime192v1. Karena kurva elips ini tidak berlaku untuk HSM mode FIPS, perintah gagal. Pesan melaporkan bahwa server di klaster tidak tersedia, tapi ini tidak selalu menunjukkan masalah dengan HSM di klaster.

Command: genECCKeyPair -i 1 -l ecc1 Cfm3GenerateKeyPair returned: 0xb3 : HSM Error: This operation violates the current configured/FIPS policies Cluster Error Status Node id 0 and err state 0x30000085 : HSM CLUSTER ERROR: Server in cluster is unavailable

Parameter

-h

Menampilkan bantuan untuk perintah.

Wajib: Ya

-i

Menentukan pengenal untuk kurva elips. Masukkan pengenal.

Nilai yang valid:

  • 2: NID_X9_62_prime256v1

  • 14: NID_secp384r1

  • 16: NID_secp256k1

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