Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Masalah yang diketahui untuk JCE SDK
Topik
- Masalah: Ketika bekerja dengan pasangan kunci asimetris, Anda melihat kapasitas kunci ditempati bahkan ketika Anda tidak secara eksplisit membuat atau mengimpor kunci
- Masalah: Anda tidak dapat menentukan atribut saat membuka kunci
- Isu: JCE KeyStore hanya dibaca
- Masalah: Penyangga untuk enkripsi AES-GCM tidak dapat melebihi 16.000 byte
- Masalah: Derivasi kunci Eliptic-curve Diffie-Hellman (ECDH) dijalankan sebagian dalam HSM
- Isu: KeyGenerator dan KeyAttribute salah menafsirkan parameter ukuran kunci sebagai jumlah byte bukan bit
- Masalah: Klien SDK 5 melempar peringatan “Operasi akses reflektif ilegal telah terjadi”
- Isu: Kolam sesi JCE habis
Masalah: Ketika bekerja dengan pasangan kunci asimetris, Anda melihat kapasitas kunci ditempati bahkan ketika Anda tidak secara eksplisit membuat atau mengimpor kunci
-
Dampak: Masalah ini dapat menyebabkan HSM Anda tiba-tiba kehabisan ruang kunci dan terjadi ketika aplikasi Anda menggunakan objek kunci JCE standar untuk operasi kripto, bukan objek
CaviumKey
. Bila Anda menggunakan objek kunci JCE standar,CaviumProvider
secara implisit mengimpor kunci tersebut ke HSM sebagai kunci sesi dan tidak menghapus kunci ini sampai aplikasi keluar. Akibatnya, kunci membangun saat aplikasi berjalan dan dapat menyebabkan HSM Anda kehabisan ruang kunci kosong, sehingga membekukan aplikasi Anda. -
Pemecahan masalah: Saat menggunakan kelas
CaviumSignature
, kelasCaviumCipher
, kelasCaviumMac
, atau kelasCaviumKeyAgreement
, Anda harus menyediakan kunci sebagaiCaviumKey
bukan objek kunci JCE standar.Anda dapat secara manual mengonversi kunci normal ke
CaviumKey
menggunakan kelasImportKey
, dan kemudian dapat secara manual menghapus kunci setelah operasi selesai. -
Status resolusi: Kami memperbarui
CaviumProvider
untuk benar mengelola impor implisit. Pembaruan akan diumumkan di halaman riwayat versi setelah tersedia.
Masalah: Anda tidak dapat menentukan atribut saat membuka kunci
-
Dampak: Semua kunci yang dibuka sebagai kunci sesi ekspor.
-
Pemecahan masalah: Anda dapat membuat skrip key_mgmt_util untuk membuka kunci dengan kustomisasi atribut terbatas, atau menggunakan pustaka PKCS #11 untuk membuka kunci dengan dukungan templat penuh.
-
Status resolusi: Kami berencana untuk menambahkan spesifikasi parameter kunci lengkap untuk perintah buka SDK JCE dalam rilis mendatang. Pembaruan akan diumumkan di halaman riwayat versi setelah tersedia.
Isu: JCE KeyStore hanya dibaca
-
Dampak: Anda tidak dapat menyimpan jenis objek yang tidak didukung oleh HSM di penyimpanan kunci JCE hari ini. Secara khusus, Anda tidak dapat menyimpan sertifikat di penyimpanan kunci. Hal ini menghalangi interoperabilitas dengan alat-alat seperti jarsigner, yang mengharapkan untuk menemukan sertifikat di penyimpanan kunci.
-
Pemecahan masalah: Anda dapat mengerjakan ulang kode Anda untuk memuat sertifikat dari file lokal atau dari lokasi bucket S3, bukan dari penyimpanan kuncinya.
-
Status resolusi: Kami menambahkan dukungan untuk penyimpanan sertifikat di penyimpanan kunci. Pembaruan akan diumumkan di halaman riwayat versi setelah tersedia.
Masalah: Penyangga untuk enkripsi AES-GCM tidak dapat melebihi 16.000 byte
Enkripsi AES-GCM multi-bagian tidak didukung.
-
Dampak: Anda tidak dapat menggunakan AES-GCM untuk mengenkripsi data yang lebih besar dari 16.000 byte.
-
Pemecahan masalah: Anda bisa menggunakan mekanisme alternatif seperti AES-CBC atau Anda dapat membagi data menjadi beberapa potong dan mengenkripsi setiap potongnya secara terpisah. Jika Anda membagi data, Anda harus mengelola ciphertext yang dibagi dan dekripsinya. Karena FIPS mengharuskan vektor inisialisasi (IV) untuk AES-GCM dihasilkan pada HSM, IV untuk setiap potong data yang dienkripsi AES-GCM akan berbeda.
-
Status resolusi: Kami memperbaiki SDK gagal secara eksplisit jika penyangga data terlalu besar. Kami sedang mengevaluasi alternatif yang mendukung penyangga yang lebih besar tanpa mengandalkan enkripsi multi-bagian. Pembaruan akan diumumkan di forum AWS CloudHSM dan pada halaman riwayat versi.
Masalah: Derivasi kunci Eliptic-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. Derivasi kunci ECDH sampel tersedia di Sampel kode Java.
-
Dampak:Perangkat Lunak versi 3.0 menambahkan fungsionalitas ECDH ke JCE. Bila Anda menggunakan mekanisme CKM_ECDH1_DERIVE untuk menurunkan kunci, kunci pertama kali tersedia pada klien dan kemudian diimpor ke HSM. Sebuah handel kunci kemudian kembali ke aplikasi Anda.
-
Pemecahan masalah: Jika Anda menerapkan Pembongkaran SSL/TLS di AWS CloudHSM, pembatasan 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: Kami sedang mengembangkan pilihan untuk melakukan derivasi kunci ECDH sepenuhnya dalam HSM. Bila tersedia, kami akan mengumumkan implementasi yang diperbarui pada halaman riwayat versi.
Isu: KeyGenerator dan KeyAttribute salah menafsirkan parameter ukuran kunci sebagai jumlah byte bukan bit
Saat membuat kunci menggunakan init
fungsi KeyGeneratorkelasSIZE
atribut AWS CloudHSMKeyAttributeenum, API salah mengharapkan argumen menjadi jumlah byte kunci, padahal seharusnya jumlah bit kunci.
-
Dampak: SDK klien versi 5.4.0 hingga 5.4.2 salah mengharapkan ukuran kunci diberikan ke API yang ditentukan sebagai byte.
-
Solusi: Mengkonversi ukuran kunci dari bit ke byte sebelum menggunakan KeyGenerator kelas atau KeyAttribute enum untuk menghasilkan kunci menggunakan penyedia AWS CloudHSM JCE jika menggunakan Client SDK versi 5.4.0 hingga 5.4.2.
-
Status resolusi: Tingkatkan versi SDK klien Anda ke 5.5.0 atau yang lebih baru, yang mencakup perbaikan untuk mengharapkan ukuran kunci dalam bit dengan benar saat menggunakan KeyGenerator kelas atau KeyAttribute enum untuk menghasilkan kunci.
Masalah: Klien SDK 5 melempar peringatan “Operasi akses reflektif ilegal telah terjadi”
Saat menggunakan Client SDK 5 dengan Java 11, CloudHSM melempar peringatan Java berikut:
``` WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.amazonaws.cloudhsm.jce.provider.CloudHsmKeyStore (file:/opt/cloudhsm/java/cloudhsm-jce-5.6.0.jar) to field java.security .KeyStore.keyStoreSpi WARNING: Please consider reporting this to the maintainers of com.amazonaws.cloudhsm.jce.provider.CloudHsmKeyStore WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release ```
Peringatan ini tidak berdampak. Kami menyadari masalah ini dan bekerja untuk mengatasinya. Tidak ada resolusi atau solusi yang diperlukan.
Isu: Kolam sesi JCE habis
Dampak: Anda mungkin tidak dapat melakukan operasi di JCE setelah melihat pesan berikut:
com.amazonaws.cloudhsm.jce.jni.exception.InternalException: There are too many operations happening at the same time: Reached max number of sessions in session pool: 1000
Solusi:
Mulai ulang aplikasi JCE Anda jika Anda mengalami dampak.
Saat melakukan operasi, Anda mungkin perlu menyelesaikan operasi JCE sebelum kehilangan referensi ke operasi.
catatan
Bergantung pada operasi, metode penyelesaian mungkin diperlukan.
Operasi Metode penyelesaian Cipher doFinal()
dalam mode enkripsi atau dekripsiwrap()
dalam mode bungkusunwrap()
dalam mode unwrapKeyAgreement generateSecret()
ataugenerateSecret(String)
KeyPairGenerator generateKeyPair()
,genKeyPair()
, ataureset()
KeyStore Tidak ada metode yang dibutuhkan MAC doFinal()
ataureset()
MessageDigest digest()
ataureset()
SecretKeyFactory Tidak ada metode yang dibutuhkan SecureRandom Tidak ada metode yang dibutuhkan Tanda tangan sign()
dalam mode tandaverify()
dalam mode verifikasi
Status resolusi: Kami meningkatkan penyedia JCE untuk menyelesaikan masalah ini. Pembaruan akan diumumkan di forum AWS CloudHSM dan di halaman riwayat versi.