View a markdown version of this page

Mekanisme yang didukung untuk pustaka PKCS #11 untuk AWS CloudHSM SDK 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 AWS CloudHSM SDK Klien 5

Pustaka PKCS #11 sesuai dengan versi 2.40 dari spesifikasi PKCS #11. 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, DES3-CBC, DES3-ECB RSA-OAEP, dan RSA-PKCS

  • Tanda tangani dan verifikasi - RSA, HMAC, ECDSA (dengan dan tanpa hashing), EDDSA (Ed25519 dan ED25519ph), dan (dengan mode mu murni dan eksternal) ML-DSA

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

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

  • Derivasi kunci - SP800-108 Counter KDF dan ECDH dengan KDF (Algoritma KDF yang didukung adalah X9.63 dengan SHA1, SHA224, SHA256, SHA384, SHA512)

Menghasilkan fungsi kunci dan pasangan kunci

P AWS CloudHSM ustaka perangkat lunak untuk pustaka PKCS #11 memungkinkan Anda untuk 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_CLOUDHSM_ML_DSA_KEY_PAIR_GEN3

  • 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 untuk menggunakan mekanisme berikut untuk fungsi Tanda Tanda dan Verifikasi. Dengan Client SDK 5, data di-hash secara lokal dalam perangkat lunak. Ini berarti tidak ada batasan pada 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 dan PureEd DSA (Ed25519), 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

ML-DSA

  • CKM_CLOUDHSM_ML_DSA_KEY_PAIR_GEN3— Menghasilkan pasangan ML-DSA kunci.

  • CKM_CLOUDHSM_ML_DSA3— T ML-DSA anda dan verifikasi murni.

  • CKM_CLOUDHSM_EXT_MU_ML_DSA3— ML-DSA tanda tangani dan verifikasi dengan mu eksternal.

EDDSa

  • CKM_CLOUDHSM_EDDSA6, 7 — dengan parameter NULL (PureEdDSA), operasi satu bagian saja.

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

P AWS CloudHSM ustaka perangkat lunak untuk pustaka PKCS #11 memungkinkan Anda untuk menggunakan mekanisme berikut untuk fungsi Digest. Dengan Client SDK 5, data di-hash secara lokal dalam perangkat lunak. Ini berarti tidak ada batasan pada 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 untuk menggunakan mekanisme berikut untuk fungsi Enkripsi dan Dekripsi.

  • CKM_RSA_X_509

  • CKM_RSA_PKCS— operasi satu bagian saja. Perubahan yang akan datang 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 mendukung mekanisme derivasi kunci berikut:

  • CKM_SP800_108_COUNTER_KDF

  • CKM_ECDH1_DERIVE- Mendukung derivasi kunci ECDH dengan jenis KDF yang ditentukan vendor berikut: 6

    • CKD_CLOUDHSM_X963_SHA1_KDF- X9.63 KDF dengan SHA1 8

    • CKD_CLOUDHSM_X963_SHA224_KDF- X9.63 KDF dengan SHA224 8

    • CKD_CLOUDHSM_X963_SHA256_KDF- X9.63 KDF dengan SHA256 8

    • CKD_CLOUDHSM_X963_SHA384_KDF- X9.63 KDF dengan SHA384 8

    • CKD_CLOUDHSM_X963_SHA512_KDF- X9.63 KDF dengan SHA512 8

Fungsi Bungkus dan Buka Bungkus

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

Untuk informasi tambahan mengenai pembungkus kunci AES, lihat Pembungkus K unci 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 kumpulan 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
CKM_CLOUDHSM_EDDSA(Param PureEd eter DSA, NULL) 16000

Anotasi mekanisme

  • [1] Saat melakukan AES-GCM enkripsi, 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 yang lebih baru memastikan bahwa PiV menunjuk ke buffer yang dinol saat enkripsi diinisialisasi. AES-GCM

  • [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 kumpulan ukuran data maksimum untuk setiap mekanisme, lihatUkuran data maksimum untuk setiap mekanisme.

  • [3] Vendor-defined mekanisme. Untuk menggunakan mekanisme yang ditetapkan vendor CloudHSM, aplikasi PKCS #11 harus menyertakan /opt/cloudhsm/include/pkcs11/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 PKCS #5 Padding.

    CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD: Bungkus Kunci AES dengan Bantalan Nol.

    CKM_CLOUDHSM_ML_DSA_KEY_PAIR_GEN: Menghasilkan pasangan ML-DSA kunci. Gunakan CKA_CLOUDHSM_PARAMETER_SET atribut (tipeCK_CLOUDHSM_ML_DSA_PARAMETER_SET_TYPE) untuk menentukan set parameter. Nilai-nilai yang valid: CKP_CLOUDHSM_ML_DSA_44, CKP_CLOUDHSM_ML_DSA_65, CKP_CLOUDHSM_ML_DSA_87.

    CKM_CLOUDHSM_ML_DSA: T ML-DSA anda dan verifikasi murni. Menandatangani atau memverifikasi data mentah menggunakan pasangan ML-DSA kunci.

    CKM_CLOUDHSM_EXT_MU_ML_DSA: ML-DSA tanda tangani dan verifikasi dengan mu eksternal. Menandatangani atau memverifikasi data yang telah diproses sebelumnya menjadi nilai mu eksternal.

    CKM_CLOUDHSM_EDDSA: Mekanisme penandatanganan EDDSa. Dengan parameter NULL: PureEd DSA (Ed25519), hanya satu bagian, maksimum 16.000 byte. Dengan CK_EDDSA_PARAMS (phFlag = CK_TRUE,ulContextDataLen = 0): ED25519ph, satu bagian dan multi-bagian, tidak ada batasan ukuran. CK_EDDSA_PARAMSStrukturnya mengikuti spesifikasi PKCS #11 v3.0.

  • [4] CK_RSA_PKCS_MGF_TYPE Berikut CK_MECHANISM_TYPE ini dan 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: Penghentian Mekanisme 2024 untuk detail.

  • [6] Jenis yang ditentukan vendor. Untuk menggunakan tipe yang ditentukan vendor CloudHSM, aplikasi PKCS #11 harus disertakan selama kompilasi. cloudhsm_pkcs11_vendor_defs.h Ini ditemukan di /opt/cloudhsm/include/pkcs11/cloudhsm_pkcs11_vendor_defs.h untuk platform berbasis Linux dan C:\Program Files\Amazon\CloudHSM\include\pkcs11\cloudhsm_pkcs11_vendor_defs.h untuk platform berbasis Windows

  • [7] Hanya didukung pada instans hsm2m.medium dalam mode non-FIPS.

  • [8] Fungsi derivasi kunci (KDF) ditentukan dalam Publikasi Khusus NIS T 800-56A Revisi 3.