Mekanisme yang didukung untuk pustaka PKCS #11 untuk SDK AWS CloudHSM Klien 5 - AWS CloudHSM

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

Mekanisme yang didukung untuk pustaka PKCS #11 untuk SDK AWS CloudHSM Klien 5

Pustaka PKCS #11 sesuai dengan spesifikasi PKCS #11 versi 2.40. Untuk memanggil fitur kriptografi menggunakan PKCS #11, panggil fungsi dengan mekanisme tertentu. Bagian berikut merangkum kombinasi fungsi dan mekanisme yang didukung oleh AWS CloudHSM Client SDK 5.

Pustaka PKCS #11 mendukung algoritme berikut ini:

  • Enkripsi dan dekripsi — AES-CBC, AES-CTR, AES-ECB, AES-GCM, -CBC, -ECB, RSA-OAEP, dan RSA-PKCS DES3 DES3

  • Tanda tangani dan verifikasi- RSA, HMAC, dan ECDSA; dengan dan tanpa hashing

  • Hash/digest — SHA1,,, SHA224, dan SHA256 SHA384 SHA512

  • Bungkus kunci— Bungkus Kunci AES,1AES-GCM, RSA-AES, dan RSA-OAEP

Menghasilkan fungsi key dan key pair

Pustaka AWS CloudHSM perangkat lunak untuk pustaka PKCS #11 memungkinkan Anda menggunakan mekanisme berikut untuk fungsi Generate Key dan Key Pair.

  • CKM_RSA_PKCS_KEY_PAIR_GEN

  • CKM_RSA_X9_31_KEY_PAIR_GENMekanisme ini secara fungsional identik dengan CKM_RSA_PKCS_KEY_PAIR_GEN mekanisme, tetapi menawarkan jaminan yang lebih kuat untuk p dan q generasi.

  • CKM_EC_KEY_PAIR_GEN

  • CKM_GENERIC_SECRET_KEY_GEN

  • CKM_AES_KEY_GEN

  • CKM_DES3_KEY_GEN— perubahan yang akan datang tercantum dalam catatan kaki5.

Tanda tangani dan verifikasi fungsi

Pustaka AWS CloudHSM perangkat lunak untuk pustaka PKCS #11 memungkinkan Anda menggunakan mekanisme berikut untuk fungsi Masuk dan Verifikasi. Dengan Client SDK 5, data di-hash secara lokal dalam perangkat lunak. Ini berarti tidak ada batasan ukuran data yang dapat di-hash oleh SDK.

Dengan Client SDK 5 RSA dan ECDSA hashing dilakukan secara lokal sehingga tidak ada batasan data. Dengan HMAC, ada batas data. Lihat catatan kaki 2 untuk info lebih lanjut.

RSA

  • CKM_RSA_X_509

  • CKM_RSA_PKCS— operasi satu bagian saja.

  • CKM_RSA_PKCS_PSS— operasi satu bagian saja.

  • CKM_SHA1_RSA_PKCS

  • CKM_SHA224_RSA_PKCS

  • CKM_SHA256_RSA_PKCS

  • CKM_SHA384_RSA_PKCS

  • CKM_SHA512_RSA_PKCS

  • CKM_SHA512_RSA_PKCS

  • CKM_SHA1_RSA_PKCS_PSS

  • CKM_SHA224_RSA_PKCS_PSS

  • CKM_SHA256_RSA_PKCS_PSS

  • CKM_SHA384_RSA_PKCS_PSS

  • CKM_SHA512_RSA_PKCS_PSS

ECDSA

  • CKM_ECDSA— operasi satu bagian saja.

  • CKM_ECDSA_SHA1

  • CKM_ECDSA_SHA224

  • CKM_ECDSA_SHA256

  • CKM_ECDSA_SHA384

  • CKM_ECDSA_SHA512

HMAC

  • CKM_SHA_1_HMAC2

  • CKM_SHA224_HMAC2

  • CKM_SHA256_HMAC2

  • CKM_SHA384_HMAC2

  • CKM_SHA512_HMAC2

CMAC

  • CKM_AES_CMAC

Tanda tangani pemulihan dan verifikasi fungsi pemulihan

Client SDK 5 tidak mendukung fungsi Sign Recover dan Verify Recover.

Fungsi mencerna

Pustaka AWS CloudHSM perangkat lunak untuk pustaka PKCS #11 memungkinkan Anda menggunakan mekanisme berikut untuk fungsi Digest. Dengan Client SDK 5, data di-hash secara lokal dalam perangkat lunak. Ini berarti tidak ada batasan ukuran data yang dapat di-hash oleh SDK.

  • CKM_SHA_1

  • CKM_SHA224

  • CKM_SHA256

  • CKM_SHA384

  • CKM_SHA512

Enkripsi dan dekripsi fungsi

Pustaka AWS CloudHSM perangkat lunak untuk pustaka PKCS #11 memungkinkan Anda menggunakan mekanisme berikut untuk fungsi Enkripsi dan Dekripsi.

  • CKM_RSA_X_509

  • CKM_RSA_PKCS— operasi satu bagian saja. Perubahan mendatang tercantum dalam catatan kaki5.

  • CKM_RSA_PKCS_OAEP— operasi satu bagian saja.

  • CKM_AES_ECB

  • CKM_AES_CTR

  • CKM_AES_CBC

  • CKM_AES_CBC_PAD

  • CKM_DES3_CBC— perubahan yang akan datang tercantum dalam catatan kaki5.

  • CKM_DES3_ECB— perubahan yang akan datang tercantum dalam catatan kaki5.

  • CKM_DES3_CBC_PAD— perubahan yang akan datang tercantum dalam catatan kaki5.

  • CKM_AES_GCM 1, 2

  • CKM_CLOUDHSM_AES_GCM3

Turunkan fungsi kunci

Pustaka AWS CloudHSM perangkat lunak untuk pustaka PKCS #11 memungkinkan Anda menggunakan mekanisme berikut untuk fungsi Derive.

  • CKM_SP800_108_COUNTER_KDF

Fungsi Bungkus dan Buka Bungkus

Pustaka AWS CloudHSM perangkat lunak untuk pustaka PKCS #11 memungkinkan Anda menggunakan mekanisme berikut untuk fungsi Wrap dan Unwrap.

Untuk informasi tambahan mengenai pembungkus kunci AES, lihat Pembungkus Kunci AES.

  • CKM_RSA_PKCS— operasi satu bagian saja. Perubahan yang akan datang tercantum dalam catatan kaki5.

  • CKM_RSA_PKCS_OAEP4

  • CKM_AES_GCM1, 3

  • CKM_CLOUDHSM_AES_GCM3

  • CKM_RSA_AES_KEY_WRAP

  • CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD3

  • CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD3

  • CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD3

Ukuran data maksimum untuk setiap mekanisme

Tabel berikut mencantumkan ukuran data maksimum yang ditetapkan untuk setiap mekanisme:

Ukuran set data maksimum
Mekanisme Ukuran data maksimum dalam byte
CKM_SHA_1_HMAC 16288
CKM_SHA224_HMAC 16256
CKM_SHA256_HMAC 16288
CKM_SHA384_HMAC 16224
CKM_SHA512_HMAC 16224
CKM_AES_CBC 16272
CKM_AES_GCM 16224
CKM_CLOUDHSM_AES_GCM 16224
CKM_DES3_CBC 16280

Anotasi mekanisme

  • [1] Saat melakukan enkripsi AES-GCM, HSM tidak menerima data vektor inisialisasi (IV) dari aplikasi. Anda harus menggunakan IV yang dihasilkannya. IV 12-byte yang disediakan oleh HSM ditulis ke dalam referensi memori yang ditunjukkan oleh elemen pIV dari parameter CK_GCM_PARAMS struktur yang Anda suplai. Untuk mencegah kebingungan pengguna, PKCS #11 SDK di versi 1.1.1 dan sebelumnya memastikan bahwa pIV menunjuk ke penyangga yang dinolkan ketika enkripsi AES-GCM diinisialisasi.

  • [2] Saat mengoperasikan data dengan menggunakan salah satu mekanisme berikut, jika buffer data melebihi ukuran data maksimum, operasi menghasilkan kesalahan. Untuk mekanisme ini, semua pemrosesan data harus terjadi di dalam HSM. Untuk informasi tentang set ukuran data maksimum untuk setiap mekanisme, lihatUkuran data maksimum untuk setiap mekanisme.

  • [3] Mekanisme yang ditentukan vendor. Untuk menggunakan mekanisme yang ditetapkan vendor CloudHSM, aplikasi PKCS #11 harus menyertakan /opt/cloudhsm/include/pkcs11t.h selama kompilasi.

    CKM_CLOUDHSM_AES_GCM: Mekanisme kepemilikan ini adalah alternatif pemrograman yang lebih aman untuk CKM_AES_GCM standar. Ini menambahkan IV yang dihasilkan oleh HSM untuk ciphertext, bukan menuliskannya kembali ke dalam struktur CK_GCM_PARAMS yang disediakan selama inisialisasi cipher. Anda dapat menggunakan mekanisme ini dengan fungsi C_Encrypt, C_WrapKey, C_Decrypt, dan C_UnwrapKey. Bila menggunakan mekanisme ini, variabel pIV di struk CK_GCM_PARAMS harus diatur ke NULL. Bila menggunakan mekanisme ini dengan C_Decrypt dan C_UnwrapKey, IV diharapkan akan ditambahkan ke ciphertext yang sedang dibuka.

    CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD: Bungkus Kunci AES dengan Padding PKCS #5.

    CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD: Bungkus Kunci AES dengan Padding Nol.

  • [4] Berikut ini CK_MECHANISM_TYPE dan CK_RSA_PKCS_MGF_TYPE didukung CK_RSA_PKCS_OAEP_PARAMS untukCKM_RSA_PKCS_OAEP:

    • CKM_SHA_1 menggunakan CKG_MGF1_SHA1

    • CKM_SHA224 menggunakan CKG_MGF1_SHA224

    • CKM_SHA256 menggunakan CKG_MGF1_SHA256

    • CKM_SHA384 menggunakan CKM_MGF1_SHA384

    • CKM_SHA512 menggunakan CKM_MGF1_SHA512

  • [5] Sesuai dengan panduan NIST, ini tidak diizinkan untuk cluster dalam mode FIPS setelah 2023. Untuk cluster dalam mode non-FIPS, masih diperbolehkan setelah 2023. Lihat Kepatuhan FIPS 140: Penutupan Mekanisme 2024 untuk detail.