Pembungkus kunci AES di AWS CloudHSM - AWS CloudHSM

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

Pembungkus kunci AES di AWS CloudHSM

Topik ini menjelaskan opsi untuk pembungkus kunci AES. AWS CloudHSM Pembungkus kunci AES menggunakan kunci AES (kunci pembungkus) untuk membungkus kunci lain dari jenis apa pun (kunci target). Anda menggunakan kunci pembungkus untuk melindungi kunci yang disimpan atau mengirimkan kunci melalui jaringan yang tidak aman.

Algoritme yang didukung

AWS CloudHSM menawarkan tiga opsi untuk pembungkus kunci AES, masing-masing berdasarkan bagaimana kunci target dilapisi sebelum dibungkus. Bantalan dilakukan secara otomatis, sesuai dengan algoritme yang Anda gunakan, ketika Anda memanggil pembungkus kunci. Tabel berikut mencantumkan algoritme yang didukung dan detail terkait untuk membantu Anda memilih mekanisme pembungkus yang sesuai untuk aplikasi Anda.

Algoritme Bungkus Kunci AES Spesifikasi Jenis Kunci Target Didukung Skema bantalan AWS CloudHSM Ketersediaan Klien
Bungkus Kunci AES dengan Nol Bantalan RFC 5649 dan SP 800 - 38F Semua Menambahkan nol setelah bit kunci, jika perlu, untuk memblokir penyelarasan SDK 3.1 dan versi lebih baru
Bungkus Kunci AES dengan Tanpa Bantalan RFC 3394 dan SP 800 - 38F Kunci dengan penyelarasan diblokir seperti AES dan 3DES Tidak ada SDK 3.1 dan versi lebih baru
Bungkus Kunci AES dengan Bantalan PKCS #5 Tidak ada Semua

Setidaknya 8 byte ditambahkan sesuai skema bantalan PKCS #5 untuk memblokir penyelarasan

Semua

Untuk mempelajari cara menggunakan algoritma pembungkus kunci AES dari tabel sebelumnya dalam aplikasi Anda, lihat Menggunakan AES Key Wrap in. AWS CloudHSM

Memahami vektor inisialisasi dalam bungkus kunci AES

Sebelum membungkus, CloudHSM menambahkan vektor inisialisasi (IV) ke kunci target untuk integritas data. Setiap algoritme pembungkus kunci memiliki batasan khusus pada jenis IV yang diperbolehkan. Untuk mengatur IV AWS CloudHSM, Anda memiliki dua opsi:

  • Implisit: mengatur IV ke NULL dan CloudHSM menggunakan nilai default untuk algoritme tersebut untuk operasi membungkus dan membuka bungkus (disarankan)

  • Explicit: mengatur IV dengan melewati nilai default IV ke fungsi pembungkus kunci

penting

Anda harus memahami IV apa yang Anda gunakan dalam aplikasi Anda. Untuk membuka kunci, Anda harus memberikan IV yang sama yang Anda gunakan untuk membungkus kunci. Jika Anda menggunakan IV implisit untuk membungkus, makan gunakan IV implisit untuk membuka. Dengan IV implisit, CloudHSM akan menggunakan nilai default untuk membuka.

Tabel berikut menjelaskan nilai-nilai yang diizinkan untuk IV, yang ditetapkan algoritme pembungkus.

Algoritme Bungkus Kunci AES IV implisit IV eksplisit
Bungkus Kunci AES dengan Nol Bantalan Wajib

Nilai default: (IV dihitung secara internal berdasarkan spesifikasi)

Tidak diizinkan
Bungkus Kunci AES dengan Tanpa Bantalan Diizinkan (disarankan)

Nilai default: 0xA6A6A6A6A6A6A6A6

Diizinkan

Hanya nilai ini yang diterima: 0xA6A6A6A6A6A6A6A6

Bungkus Kunci AES dengan Bantalan PKCS #5 Diizinkan (disarankan)

Nilai default: 0xA6A6A6A6A6A6A6A6

Diizinkan

Hanya nilai ini yang diterima: 0xA6A6A6A6A6A6A6A6

Menggunakan bungkus kunci AES di AWS CloudHSM

Anda membungkus dan membuka kunci sebagai berikut:

  • Di pustaka PKCS #11, pilih mekanisme yang sesuai untuk fungsi C_WrapKey dan C_UnWrapKey seperti yang ditunjukkan dalam tabel berikut.

  • Di penyedia JCE, pilih algoritme, kombinasi mode dan bantalan, menerapkan metode cipher Cipher.WRAP_MODE danCipher.UNWRAP_MODE seperti yang ditunjukkan dalam tabel berikut.

  • Di CloudHSM CLI, pilih algoritma yang sesuai dari daftar algoritma yang buka kunci didukung dan seperti bungkus kunci yang ditunjukkan pada tabel berikut.

  • Di key_mgmt_util (KMU), gunakan perintah wrapKey dan unWrapKey dengan nilai m yang sesuai seperti yang ditunjukkan dalam tabel berikut.

Algoritme Bungkus Kunci AES Mekanisme PKCS #11 Metode Java Sub Perintah CloudHSM CLI Argumen Utilitas Manajemen Kunci (KMU)
Bungkus Kunci AES dengan Nol Bantalan
  • CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD (Mekanisme Ditetapkan Vendor)

AESWrap/ECB/ZeroPadding aes-zero-pad m = 6
Bungkus Kunci AES dengan Tanpa Bantalan
  • CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD (Mekanisme Ditetapkan Vendor)

AESWrap/ECB/NoPadding aes-no-pad m = 5
Bungkus Kunci AES dengan Bantalan PKCS #5
  • CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD (Mekanisme Ditetapkan Vendor)

AESWrap/ECB/PKCS5Padding aes-pkcs5-pad m = 4