Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Masalah yang diketahui untuk pustaka PKCS #11 untuk AWS CloudHSM
Masalah berikut berdampak pada pustaka PKCS #11 untuk. AWS CloudHSM
Topik
Masalah: A tribut CKA_DERIVE tidak didukung dan tidak ditangani
Masalah: A tribut CKA_SENSITIVE tidak didukung dan tidak ditangani
Masalah: Hashing multibagian dan penandatanganan tidak didukung
Masalah: Derivasi kunci Elliptic-curve Diffie-Hellman (ECDH) dijalankan sebagian dalam HSM
Masalah: Verifikasi tanda tangan secp256k1 gagal pada platform EL6 seperti CentOS6 dan RHEL 6
Masalah: Urutan panggilan fungsi yang salah memberikan hasil yang tidak terdefinisi, bukannya gagal
Masalah: C_ GetAttributeValue mengembalikan C KR_DEVICE_ERROR saat dibatasi
Masalah: Pustaka PKCS #11 tidak mencoba lagi operasi penyimpanan sertifikat yang dibatasi
Masalah: Pembungkus kunci AES dalam versi 3.0.0 pustaka PKCS #11 tidak memvalidasi IV sebelum penggunaan
Jika Anda menentukan IV lebih pendek dari 8 byte panjangnya, IV diberi bantalan dengan byte tak terduga sebelum digunakan.
catatan
Ini memengaruhi C_WrapKey dengan mekanisme CKM_AES_KEY_WRAP saja.
Dampak: Jika Anda memberikan IV yang lebih pendek dari 8 byte di pustaka PKCS #11 versi 3.0.0, Anda mungkin tidak dapat membuka kunci.
Solusi:
Kami sangat menyarankan Anda meningkatkan ke versi 3.0.1 atau lebih tinggi dari pustaka PKCS #11, yang dengan benar memberlakukan panjang IV selama pembungkus kunci AES. Ubah kode pembungkus Anda untuk melewatkan NULL IV, atau tentukan IV default dari
0xA6A6A6A6A6A6A6A6. Untuk informasi selengkapnya, lihat IV Kustom dengan Non-Compliant Panjang untuk Pembungkus Kunci AES.Jika Anda membungkus kunci dengan versi 3.0.0 dari pustaka PKCS #11 menggunakan IV yang lebih pendek dari 8 byte, hubungi kami untuk dukungan
.
Status resolusi: Masalah ini telah diatasi di pustaka PKCS #11 versi 3.0.1. Untuk membungkus kunci menggunakan pembungkus kunci AES, tentukan IV yang NULL atau 8 byte panjangnya.
Masalah: PKCS #11 SDK 2.0.4 dan versi sebelumnya selalu menggunakan IV default 0xA6A6A6A6A6A6A6A6 untuk membungkus dan membuka kunci AES
User-provided IV diam-diam diabaikan.
catatan
Ini memengaruhi C_WrapKey dengan mekanisme CKM_AES_KEY_WRAP saja.
Dampak:
Jika Anda menggunakan PKCS #11 SDK 2.0.4 atau versi sebelumnya dan IV yang disediakan pengguna, kunci Anda dibungkus dengan IV default
0xA6A6A6A6A6A6A6A6.Jika Anda menggunakan PKCS #11 SDK 3.0.0 atau versi lebih baru dan IV yang disediakan pengguna, kunci Anda dibungkus dengan IV yang disediakan pengguna..
Solusi:
Untuk membuka kunci yang dibungkus dengan PKCS #11 SDK 2.0.4 atau sebelumnya, gunakan IV default dari
0xA6A6A6A6A6A6A6A6.Untuk membuka kunci yang dibungkus dengan PKCS #11 SDK 3.0.0 atau yang lebih baru, gunakan IV yang disediakan pengguna.
Status resolusi: Kami sangat menyarankan Anda untuk mengubah kode pembungkus dan pembuka untuk melewatkan NULL IV, atau menentukan IV default
0xA6A6A6A6A6A6A6A6.
Masalah: A tribut CKA_DERIVE tidak didukung dan tidak ditangani
-
Status resolusi: Kami telah menerapkan perbaikan untuk menerima
CKA_DERIVEjika diatur keFALSE.CKA_DERIVEdiatur keTRUEtidak akan didukung sampai kita mulai menambahkan dukungan fungsi derivasi kunci ke AWS CloudHSM. Anda harus memperbarui klien dan SDK ke versi 1.1.1 atau lebih tinggi untuk mendapatkan manfaat dari perbaikan.
Masalah: A tribut CKA_SENSITIVE tidak didukung dan tidak ditangani
-
Status resolusi: Kami telah menerapkan perbaikan untuk menerima dan menghormati atribut
CKA_SENSITIVEdengan benar. Anda harus memperbarui klien dan SDK ke versi 1.1.1 atau lebih tinggi untuk mendapatkan manfaat dari perbaikan.
Masalah: Hashing multibagian dan penandatanganan tidak didukung
-
Dampak:
C_DigestUpdatedanC_DigestFinaltidak diimplementasikan.C_SignFinaljuga tidak diimplementasikan dan akan gagal denganCKR_ARGUMENTS_BADuntuk selain penyanggaNULL. -
Solusi: Hash data Anda dalam aplikasi Anda dan gunakan AWS CloudHSM hanya untuk menandatangani hash.
-
Status resolusi: Kami memperbaiki klien dan SDK untuk menerapkan hashing multibagian dengan benar. Pembaruan akan diumumkan di forum AWS CloudHSM dan pada halaman riwayat versi.
Masalah: C_ GenerateKeyPair tidak menangani C KA_MODULUS_BITS atau CKA_ PUBLIC_EXPONENT dalam template pribadi dengan cara yang sesuai dengan standar
-
Dampak:
C_GenerateKeyPairharus mengembalikanCKA_TEMPLATE_INCONSISTENTketika templat privat berisiCKA_MODULUS_BITSatauCKA_PUBLIC_EXPONENT. Ini malah menghasilkan kunci privat yang semua bidang penggunaannya diatur keFALSE. Kunci tidak dapat digunakan. -
Pemecahan masalah: Kami merekomendasikan bahwa aplikasi Anda memeriksa nilai bidang penggunaan selain kode kesalahan.
-
Status resolusi: Kami menerapkan perbaikan untuk mengembalikan pesan kesalahan yang tepat ketika templat kunci privat yang salah digunakan. Pembaruan pustaka PKCS #11 akan diumumkan di halaman riwayat versi.
Masalah: Buffer untuk operasi API C_Encrypt dan C_Dec rypt tidak dapat melebihi 16 KB saat menggunakan mekanisme CKM_AES_GCM
C_Encrypt dan C_DecAWS CloudHSM tidak mendukung AES-GCM enkripsi multipart.
-
Dampak: Anda tidak dapat menggunakan mekanisme
CKM_AES_GCMuntuk mengenkripsi data yang lebih besar dari 16 KB. -
Solusi: Anda dapat menggunakan mekanisme alternatif seperti
CKM_AES_CBC,CKM_AES_CBC_PAD, atau Anda dapat membagi data menjadi beberapa bagian dan mengenkripsi setiap bagian menggunakanAES_GCMsatu per satu. Jika Anda menggunakanAES_GCM, Anda harus mengelola pembagian data Anda dan enkripsi berikutnya. AWS CloudHSM tidak melakukan AES-GCM enkripsi multipart untuk Anda. Perhatikan bahwa FIPS mengharuskan vektor inisialisasi (IV) untukAES-GCMdihasilkan pada HSM. Oleh karena itu, IV untuk setiap bagian data AES-GCM terenkripsi Anda akan berbeda. -
Status resolusi: Kami memperbaiki SDK gagal secara eksplisit jika penyangga data terlalu besar. Kami mengembalikan
CKR_MECHANISM_INVALIDuntuk operasi APIC_EncryptUpdatedanC_DecryptUpdate. Kami sedang mengevaluasi alternatif untuk mendukung penyangga yang lebih besar tanpa mengandalkan enkripsi multibagian. Pembaruan akan diumumkan di AWS CloudHSM forum dan di halaman riwayat versi.
Masalah: Derivasi kunci Elliptic-curve Diffie-Hellman (ECDH) dijalankan sebagian dalam HSM
Kunci privat EC Anda tetap berada dalam HSM setiap saat, tetapi proses derivasi kunci dilakukan dalam beberapa langkah. Akibatnya, hasil menengah dari setiap langkah tersedia pada klien.
-
Damp ak: Di SDK Klien 3, kunci yang diturunkan menggunakan
CKM_ECDH1_DERIVEmekanisme pertama kali tersedia di klien dan kemudian diimpor ke HSM. Sebuah handel kunci kemudian kembali ke aplikasi Anda. -
Solusi: Jika Anda menerapkan SSL/TLS Offload di AWS CloudHSM, batasan ini mungkin tidak menjadi masalah. Jika aplikasi Anda memerlukan kunci Anda untuk tetap berada dalam batas FIPS setiap saat, pertimbangkan untuk menggunakan protokol alternatif yang tidak bergantung pada derivasi kunci ECDH.
-
Status resolusi: SDK 5.16 sekarang mendukung ECDH dengan Derivasi Kunci yang dilakukan sepenuhnya dalam HSM.
Masalah: Verifikasi tanda tangan secp256k1 gagal pada platform EL6 seperti CentOS6 dan RHEL 6
Hal ini terjadi karena pustaka PKCS #11 CloudHSM menghindari panggilan jaringan selama inisialisasi operasi verifikasi dengan menggunakan OpenSSL untuk memverifikasi data kurva EC. Karena Secp256k1 tidak didukung oleh paket OpenSSL default pada platform EL6, inisialisasi gagal.
-
Dampak: Verifikasi tanda tangan Secp256k1 akan gagal pada platform EL6. Panggilan verifikasi akan gagal dengan kesalahan
CKR_HOST_MEMORY. -
Pemecahan masalah: Sebaiknya gunakan Amazon Linux 1 atau platform EL7 jika aplikasi PKCS #11 Anda perlu memverifikasi tanda tangan secp256k1. Atau, tingkatkan ke versi paket OpenSSL yang mendukung kurva secp256k1.
-
Status resolusi: Kami menerapkan perbaikan untuk kembali ke HSM jika validasi kurva lokal tidak tersedia. Pembaruan pustaka PKCS #11 akan diumumkan di halaman riwayat versi.
Masalah: Urutan panggilan fungsi yang salah memberikan hasil yang tidak terdefinisi, bukannya gagal
-
Dampak: Jika Anda memanggil urutan fungsi yang salah, hasil akhir tidak benar meskipun fungsi individu panggilan kembali sukses. Misalnya, data yang didekripsi mungkin tidak cocok denga teks terang asli atau tanda tangan mungkin gagal untuk diverifikasi. Masalah ini memengaruhi operasi satu bagian dan multibagian.
Tabel berikut menunjukkan urutan panggilan fungsi yang benar untuk operasi PKCS #11.
Urutan yang benar untuk operasi satu bagian:
Operasi Urutan yang Benar Enkripsi C_EncryptInit→C_EncryptDekripsi C_DecryptInit→C_DecryptTandatangani C_SignInit→C_SignVerifikasi C_VerifyInit→C_VerifyTemukan Objek C_FindObjectsInit→C_FindObjects→C_FindObjectsFinalUrutan yang benar untuk operasi multi-bagian:
Operasi Urutan yang Benar Enkripsi C_EncryptInit→C_EncryptUpdate(satu atau lebih) →C_EncryptFinalDekripsi C_DecryptInit→C_DecryptUpdate(satu atau lebih) →C_DecryptFinalSign C_SignInit→C_SignUpdate(satu atau lebih) →C_SignFinalVerifikasi C_VerifyInit→C_VerifyUpdate(satu atau lebih) →C_VerifyFinal Solusi: Aplikasi Anda harus, sesuai dengan spesifikasi PKCS #11, menggunakan urutan panggilan fungsi yang benar untuk operasi satu bagian dan multi-bagian seperti yang ditunjukkan pada tabel di atas. Aplikasi Anda seharusnya tidak bergantung pada pustaka CloudHSM PKCS #11 untuk mengembalikan kesalahan dalam keadaan ini.
Masalah: Sesi Baca Saja tidak didukung di SDK 5
-
Masalah: SDK 5 tidak mendukung Read-Only sesi pembukaan dengan
C_OpenSession. -
Damp ak: Jika Anda mencoba
C_OpenSessionmenelepon tanpa memberikanCKF_RW_SESSION, panggilan akan gagal dengan kesalahanCKR_FUNCTION_FAILED. -
Solusi: Saat membuka sesi, Anda harus meneruskan
CKF_SERIAL_SESSION | CKF_RW_SESSIONflag ke panggilanC_OpenSessionfungsi.
Masalah: file header cryptoki.h adalah Windows-only
-
Masalah: Dengan AWS CloudHSM Client SDK 5 versi 5.0.0 hingga 5.4.0 di Linux, file header hanya
/opt/cloudhsm/include/pkcs11/cryptoki.hkompatibel dengan sistem operasi Windows. -
Damp ak: Anda mungkin mengalami masalah saat mencoba memasukkan file header ini dalam aplikasi Anda pada sistem Linux-based operasi.
-
Status resolusi: Tingkatkan ke AWS CloudHSM Client SDK 5 versi 5.4.1 atau lebih tinggi, yang menyer Linux-compatible takan versi file header ini.
Masalah: C_ GetAttributeValue mengembalikan C KR_DEVICE_ERROR saat dibatasi
Ketika C_GetAttributeValue panggilan dibatasi, ia kembaliCKR_DEVICE_ERROR. Operasi terhambat lainnya kembaliCKR_FUNCTION_FAILED.
-
Dampak: Jika aplikasi Anda hanya mencoba lagi
CKR_FUNCTION_FAILED, aplikasi tidak akan mencoba lagi permintaan yang dibatasi ini. -
Solusi: Coba lagi operasi yang dibatasi dengan mundur eksponensial pada keduanya dan.
CKR_DEVICE_ERRORCKR_FUNCTION_FAILEDJika pelambatan berlanjut, tambahkan lebih banyak HSM ke cluster Anda untuk meningkatkan kecepatan baca dan tulis total, atau kurangi tingkat permintaan Anda. Untuk informasi selengkapnya, lihat Pelambatan HSM. -
Status resolusi: Masalah ini telah diselesaikan di Client SDK 5.18.0.
C_GetAttributeValuesekarang kembaliCKR_FUNCTION_FAILEDuntuk pembacaan atribut kunci dan penyimpanan sertifikat yang dibatasi. Tingkatkan ke versi 5.18.0 atau yang lebih baru untuk mendapatkan manfaat dari perbaikan.
Masalah: Pustaka PKCS #11 tidak mencoba lagi operasi penyimpanan sertifikat yang dibatasi
Bila Anda melebihi batas tarif untuk operasi penyimpanan sertifikat, pustaka PKCS #11 tidak secara otomatis mencoba lagi operasi yang dibatasi ini.
-
Damp ak: Operasi penyimpanan sertifikat yang dibatasi mengembalikan kesalahan ke aplikasi Anda alih-alih dicoba ulang secara otomatis.
-
Solusi: Coba lagi operasi penyimpanan sertifikat yang dibatasi di aplikasi Anda dengan mundur eksponensial. Jika pelambatan berlanjut, tambahkan lebih banyak HSM ke cluster Anda untuk meningkatkan kecepatan baca dan tulis total, atau kurangi tingkat permintaan Anda. Untuk informasi selengkapnya, lihat Pelambatan HSM.
-
Status resolusi: Masalah ini telah diselesaikan di Client SDK 5.18.0. Pustaka PKCS #11 sekarang secara otomatis mencoba lagi operasi penyimpanan sertifikat yang dibatasi. Tingkatkan ke versi 5.18.0 atau yang lebih baru untuk mendapatkan manfaat dari perbaikan.