Ekstraksi kunci menggunakan JCE - AWS CloudHSM

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

Ekstraksi kunci menggunakan JCE

Java Cryptography Extension (JCE) menggunakan arsitektur yang memungkinkan implementasi kriptografi yang berbeda untuk dicolokkan. AWS CloudHSM mengirimkan salah satu penyedia JCE yang menurunkan operasi kriptografi ke HSM. Agar sebagian besar penyedia JCE lainnya dapat bekerja dengan kunci yang disimpan di AWS CloudHSM, mereka harus mengekstrak byte kunci dari HSM Anda dalam teks yang jelas ke dalam memori mesin Anda untuk digunakan. HSM biasanya hanya mengizinkan kunci untuk diekstraksi sebagai objek yang dibungkus, bukan teks yang jelas. Namun, untuk mendukung kasus penggunaan integrasi antar-penyedia, AWS CloudHSM memungkinkan opsi konfigurasi opt-in untuk mengaktifkan ekstraksi byte kunci secara jelas.

penting

JCE membongkar operasi ke AWS CloudHSM setiap kali penyedia AWS CloudHSM ditentukan atau AWS CloudHSM objek kunci digunakan. Anda tidak perlu mengekstrak kunci dengan jelas jika Anda mengharapkan operasi Anda terjadi di dalam HSM. Ekstraksi kunci dalam teks yang jelas hanya diperlukan ketika aplikasi Anda tidak dapat menggunakan mekanisme aman seperti membungkus dan membuka kunci karena pembatasan dari perpustakaan pihak ketiga atau penyedia JCE.

Penyedia AWS CloudHSM JCE memungkinkan ekstraksi kunci publik untuk bekerja dengan penyedia JCE eksternal secara default. Metode berikut selalu diperbolehkan:

Kelas Metode Format (GetEncoded)
EcPublicKey getEncoded () X.509
GetW () N/A
RSA PublicKey getEncoded () X.509
getPublicExponent() N/A
CloudHsmRsaPrivateCrtKey getPublicExponent() N/A

Penyedia AWS CloudHSM JCE tidak mengizinkan ekstraksi byte kunci secara jelas untuk kunci pribadi atau rahasia secara default. Jika kasus penggunaan Anda memerlukannya, Anda dapat mengaktifkan ekstraksi byte kunci secara jelas untuk kunci pribadi atau rahasia dalam kondisi berikut:

  1. EXTRACTABLEAtribut untuk kunci pribadi dan rahasia diatur ke true.

    • Secara default, EXTRACTABLE atribut untuk kunci pribadi dan rahasia diatur ke true. EXTRACTABLEkunci adalah kunci yang diizinkan untuk diekspor keluar dari HSM. Untuk informasi selengkapnya, lihat Atribut Java yang didukung untuk SDK Klien 5.

  2. WRAP_WITH_TRUSTEDAtribut untuk kunci pribadi dan rahasia diatur ke false.

    • getEncoded,getPrivateExponent, dan getS tidak dapat digunakan dengan kunci pribadi yang tidak dapat diekspor dengan jelas. WRAP_WITH_TRUSTEDtidak mengizinkan kunci pribadi Anda untuk diekspor keluar dari HSM dengan jelas. Untuk informasi selengkapnya, lihat Menggunakan kunci tepercaya untuk mengontrol pembukaan kunci.

Mengizinkan penyedia AWS CloudHSM JCE untuk mengekstrak rahasia kunci pribadi AWS CloudHSM

penting

Perubahan konfigurasi ini memungkinkan ekstraksi semua byte EXTRACTABLE kunci secara jelas dari cluster HSM Anda. Untuk keamanan yang lebih baik, Anda harus mempertimbangkan untuk menggunakan metode pembungkus kunci untuk mengekstrak kunci dari HSM dengan aman. Ini mencegah ekstraksi byte kunci Anda yang tidak disengaja dari HSM.

  1. Gunakan perintah berikut untuk mengaktifkan kunci pribadi atau rahasia Anda untuk diekstraksi di JCE:

    Linux
    $ /opt/cloudhsm/bin/configure-jce --enable-clear-key-extraction-in-software
    Windows
    C:\Program Files\Amazon\CloudHSM\> .\configure-jce.exe --enable-clear-key-extraction-in-software
  2. Setelah Anda mengaktifkan ekstraksi kunci yang jelas, metode berikut diaktifkan untuk mengekstrak kunci pribadi ke dalam memori.

    Kelas Metode Format (GetEncoded)
    Kunci getEncoded () RAW
    EC PrivateKey getEncoded () PKC #8
    Gets () N/A
    RSA PrivateCrtKey getEncoded () X.509
    getPrivateExponent() N/A
    getPrimep () N/A
    getPrimeQ () N/A
    getPrimeExponentP () N/A
    getPrimeExponentQ () N/A
    getCrtCoefficient() N/A

Jika Anda ingin mengembalikan perilaku default dan tidak mengizinkan JCE untuk mengekspor kunci dengan jelas, jalankan perintah berikut:

Linux
$ /opt/cloudhsm/bin/configure-jce --disable-clear-key-extraction-in-software
Windows
C:\Program Files\Amazon\CloudHSM\> .\configure-jce.exe --disable-clear-key-extraction-in-software