View a markdown version of this page

Unterstützte Mechanismen für die PKCS #11 -Bibliothek für AWS CloudHSM Client-SDK 5 - AWS CloudHSM

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Unterstützte Mechanismen für die PKCS #11 -Bibliothek für AWS CloudHSM Client-SDK 5

Die PKCS #11-Bibliothek entspricht Version 2.40 der PKCS #11-Spezifikation. Um eine kryptographische Funktion mit PKCS#11 aufzurufen, rufen Sie eine Funktion mit einem bestimmten Mechanismus auf. In den folgenden Abschnitten werden die Kombinationen von Funktionen und Mechanismen zusammengefasst, die vom AWS CloudHSM Client SDK 5 unterstützt werden.

Die PKCS #11-Bibliothek unterstützt die folgenden Algorithmen:

  • Verschlüsselung und Entschlüsselung — AES-CBC, AES-CTR, AES-ECB, AES-GCM, DES3-CBC DES3-ECB, und RSA-OAEP RSA-PKCS

  • Signieren und verifizieren — RSA, HMAC, ECDSA (mit und ohne Hashing), edDSA (Ed25519 und ED25519Ph) und (mit reinem und externem Mu-Modus) ML-DSA

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

  • Schlüsselumschlag — AES Key Wrap,, und 1 AES-GCM RSA-AES RSA-OAEP

  • Schlüsselableitung — SP800-108 Counter KDF und ECDH mit KDF (Unterstützte KDF-Algorithmen sind X9.63 mit SHA1, SHA224, SHA256, SHA384, SHA512)

Schlüssel- und Schlüsselpaarfunktionen generieren

Die AWS CloudHSM Softwarebibliothek für die PKCS #11 -Bibliothek ermöglicht es Ihnen, die folgenden Mechanismen für die Funktionen „Schlüssel generieren“ und „Schlüsselpaar“ zu verwenden.

  • CKM_RSA_PKCS_KEY_PAIR_GEN

  • CKM_RSA_X9_31_KEY_PAIR_GEN – Dieser Mechanismus ist funktionell identisch mit dem CKM_RSA_PKCS_KEY_PAIR_GEN-Mechanismus, aber bietet stärkere Garantien für die Generierung von p und q.

  • 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 – bevorstehende Änderung in der Fußnote 5 aufgeführt.

Funktionen zum Signieren und Überprüfen

Die AWS CloudHSM Softwarebibliothek für die PKCS #11 -Bibliothek ermöglicht es Ihnen, die folgenden Mechanismen für Sign- und Verify-Funktionen zu verwenden. Mit Client-SDK 5 werden die Daten lokal in der Software gehasht. Das bedeutet, dass die Größe der Daten, die vom SDK gehasht werden können, unbegrenzt ist.

Mit Client-SDK 5 erfolgt das RSA- und ECDSA-Hashing lokal, sodass es kein Datenlimit gibt. Bei HMAC und PureEd DSA (Ed25519) gibt es ein Datenlimit. Weitere Informationen finden Sie in der Fußnote 2.

RSA

  • CKM_RSA_X_509

  • CKM_RSA_PKCS – Nur Single-Part-Operationen.

  • CKM_RSA_PKCS_PSS – Nur Single-Part-Operationen.

  • 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 – Nur Single-Part-Operationen.

  • CKM_ECDSA_SHA1

  • CKM_ECDSA_SHA224

  • CKM_ECDSA_SHA256

  • CKM_ECDSA_SHA384

  • CKM_ECDSA_SHA512

ML-DSA

  • CKM_CLOUDHSM_ML_DSA_KEY_PAIR_GEN3— Generiert Schlüsselpaare. ML-DSA

  • CKM_CLOUDHSM_ML_DSA3— Reines ML-DSA Signieren und Verifizieren.

  • CKM_CLOUDHSM_EXT_MU_ML_DSA3— ML-DSA Signieren und verifizieren Sie mit externem MU.

edDSA

  • CKM_CLOUDHSM_EDDSA6, 7 — mit NULL-Parametern (PureEdDSA), nur einteilige Operationen.

HMAC

  • CKM_SHA_1_HMAC2

  • CKM_SHA224_HMAC2

  • CKM_SHA256_HMAC2

  • CKM_SHA384_HMAC2

  • CKM_SHA512_HMAC2

CMAC

  • CKM_AES_CMAC

Funktionen zur Signierung, Wiederherstellung und Überprüfung der Wiederherstellung

Das Client-SDK 5 unterstützt die Funktionen Sign Recover und Verify Recover nicht.

Digest-Funktionen

Die AWS CloudHSM Softwarebibliothek für die PKCS #11 -Bibliothek ermöglicht es Ihnen, die folgenden Mechanismen für Digest-Funktionen zu verwenden. Mit Client-SDK 5 werden die Daten lokal in der Software gehasht. Das bedeutet, dass die Größe der Daten, die vom SDK gehasht werden können, unbegrenzt ist.

  • CKM_SHA_1

  • CKM_SHA224

  • CKM_SHA256

  • CKM_SHA384

  • CKM_SHA512

Funktionen zum Verschlüsseln und Entschlüsseln

Die AWS CloudHSM Softwarebibliothek für die PKCS #11 -Bibliothek ermöglicht es Ihnen, die folgenden Mechanismen für Verschlüsselungs- und Entschlüsselungsfunktionen zu verwenden.

  • CKM_RSA_X_509

  • CKM_RSA_PKCS – Nur Single-Part-Operationen. Bevorstehende Änderung in der Fußnote 5 aufgeführt.

  • CKM_RSA_PKCS_OAEP – Nur Single-Part-Operationen.

  • CKM_AES_ECB

  • CKM_AES_CTR

  • CKM_AES_CBC

  • CKM_AES_CBC_PAD

  • CKM_DES3_CBC – bevorstehende Änderung in der Fußnote 5 aufgeführt.

  • CKM_DES3_ECB – bevorstehende Änderung in der Fußnote 5 aufgeführt.

  • CKM_DES3_CBC_PAD – bevorstehende Änderung in der Fußnote 5 aufgeführt.

  • CKM_AES_GCM 1, 2

  • CKM_CLOUDHSM_AES_GCM3

Schlüsselfunktionen ableiten

Die AWS CloudHSM Softwarebibliothek für die PKCS #11 -Bibliothek unterstützt die folgenden Schlüsselableitungsmechanismen:

  • CKM_SP800_108_COUNTER_KDF

  • CKM_ECDH1_DERIVE- Unterstützt die ECDH-Schlüsselableitung mit den folgenden herstellerdefinierten KDF-Typen: 6

    • CKD_CLOUDHSM_X963_SHA1_KDF X9.63 - KDF mit SHA1 8

    • CKD_CLOUDHSM_X963_SHA224_KDF- X9.63 KDF mit SHA224 8

    • CKD_CLOUDHSM_X963_SHA256_KDF- X9.63 KDF mit SHA256 8

    • CKD_CLOUDHSM_X963_SHA384_KDF- X9.63 KDF mit SHA384 8

    • CKD_CLOUDHSM_X963_SHA512_KDF- X9.63 KDF mit SHA512 8

Funktionen „Packen“ und „Entpacken“

Die AWS CloudHSM Softwarebibliothek für die PKCS #11 -Bibliothek ermöglicht es Ihnen, die folgenden Mechanismen für Wrap- und Unwrap-Funktionen zu verwenden.

Weitere Informationen zum AES-Packen mit Schlüssel finden Sie unter AES Key Wrapping.

  • CKM_RSA_PKCS – Nur Single-Part-Operationen. Bevorstehende Änderung in der Fußnote 5 aufgeführt.

  • 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

Maximale Datengröße für jeden Mechanismus

Die folgende Tabelle listet die maximale Datengröße für jeden Mechanismus auf:.

Maximale Datensatzgröße
Mechanismus Maximale Datengröße in Bytes
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(PureEdDSA, NULL-Parameter) 16000

Anmerkungen zum Mechanismus

  • [1] Bei der AES-GCM Verschlüsselung akzeptiert das HSM keine Initialisierungsvektordaten (IV) von der Anwendung. Sie müssen einen erzeugten IV verwenden. Das vom HSM bereitgestellte 12 Byte IV wird in den referenzierten Speicherbereich geschrieben, auf den das pIV-Element der von Ihnen bereitgestellten CK_GCM_PARAMS-Parameterstruktur zeigt. Um Verwirrung bei den Benutzern zu vermeiden, stellt das PKCS #11 SDK in Version 1.1.1 und höher sicher, dass PiV bei der Initialisierung der Verschlüsselung auf einen auf Null gesetzten Puffer zeigt. AES-GCM

  • [2] Wenn der Datenpuffer die maximale Datengröße überschreitet, führt die Operation bei der Bearbeitung von Daten mittels eines der folgenden Mechanismen zu einem Fehler. Für diese Mechanismen muss die gesamte Datenverarbeitung innerhalb des HSM erfolgen. Informationen zur maximalen Datensatzgröße für jeden Mechanismus finden Sie unter. Maximale Datengröße für jeden Mechanismus

  • [3] Vendor-defined Mechanismus. Um die von anbieterdefinierten CloudHSM-Mechanismen zu verwenden, müssen PKCS #11 -Anwendungen während der Kompilierung /opt/cloudhsm/include/pkcs11/pkcs11t.h enthalten.

    CKM_CLOUDHSM_AES_GCM: Dieser proprietäre Mechanismus ist eine programmatisch sicherere Alternative zum Standard CKM_AES_GCM. Er stellt die vom HSM generierte IV dem Chiffretext voran, anstatt sie zurück in die CK_GCM_PARAMS- Struktur zu schreiben, die während der Chiffrierinitialisierung bereitgestellt wird. Sie können diesen Mechanismus mit C_Encrypt-, C_WrapKey-, C_Decrypt- und C_UnwrapKey-Funktionen verwenden. Bei Verwendung dieses Mechanismus muss die pIV-Variable in der CK_GCM_PARAMS-Struktur auf NULL gesetzt werden. Wenn Sie diesen Mechanismus mit C_Decrypt und C_UnwrapKey verwenden, wird erwartet, dass der IV dem Verschlüsselungstext vorangestellt wird, der entpackt werden soll.

    CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD: AES-Verschlüsselung mit PKCS #5 Padding.

    CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD: AES-Verschlüsselung mit Zero Padding.

    CKM_CLOUDHSM_ML_DSA_KEY_PAIR_GEN: Generiert ein ML-DSA Schlüsselpaar. Verwenden Sie das CKA_CLOUDHSM_PARAMETER_SET Attribut (typeCK_CLOUDHSM_ML_DSA_PARAMETER_SET_TYPE), um den Parametersatz anzugeben. Zulässige Werte: CKP_CLOUDHSM_ML_DSA_44, CKP_CLOUDHSM_ML_DSA_65, CKP_CLOUDHSM_ML_DSA_87.

    CKM_CLOUDHSM_ML_DSA: Einfach ML-DSA signieren und verifizieren. Signiert oder verifiziert Rohdaten mithilfe eines ML-DSA Schlüsselpaars.

    CKM_CLOUDHSM_EXT_MU_ML_DSA: ML-DSA Signieren und verifizieren Sie mit einer externen MU. Signiert oder verifiziert Daten, die zu einem externen mu-Wert vorverarbeitet wurden.

    CKM_CLOUDHSM_EDDSA: edDSA-Signaturmechanismus. Mit NULL-Parametern: PureEd DSA (Ed25519), nur einteilig, maximal 16.000 Byte. Mit CK_EDDSA_PARAMS (phFlag = CK_TRUE,ulContextDataLen = 0): ed25519Ph, einteilig und mehrteilig, keine Größenbeschränkung. Die CK_EDDSA_PARAMS Struktur folgt der PKCS #11 v3.0-Spezifikation.

  • [4] Die folgenden CK_MECHANISM_TYPE und CK_RSA_PKCS_MGF_TYPE werden als CK_RSA_PKCS_OAEP_PARAMS für CKM_RSA_PKCS_OAEP unterstützt:

    • CKM_SHA_1 mit CKG_MGF1_SHA1

    • CKM_SHA224 mit CKG_MGF1_SHA224

    • CKM_SHA256 mit CKG_MGF1_SHA256

    • CKM_SHA384 mit CKM_MGF1_SHA384

    • CKM_SHA512 mit CKM_MGF1_SHA512

  • [5] Gemäß den NIST-Richtlinien ist dies für Cluster im FIPS-Modus nach 2023 nicht zulässig. Für Cluster im Nicht-FIPS-Modus ist dies auch nach 2023 noch zulässig. Details dazu finden Sie unter FIPS-140-Konformität: Mechanismus 2024 nicht mehr unterstützt.

  • [6] Vom Hersteller definierte Typen. Um vom Anbieter definierte CloudHSM-Typen verwenden zu können, müssen PKCS #11 -Anwendungen bei der Kompilierung einbezogen cloudhsm_pkcs11_vendor_defs.h werden. Dies ist /opt/cloudhsm/include/pkcs11/cloudhsm_pkcs11_vendor_defs.h für Linux-basierte Plattformen und C:\Program Files\Amazon\CloudHSM\include\pkcs11\cloudhsm_pkcs11_vendor_defs.h für Windows-basierte Plattformen zu finden

  • [7] Wird nur auf hsm2m.medium-Instances im Nicht-FIPS-Modus unterstützt.

  • [8] Die wichtigsten Ableitungsfunktionen (KDFs) sind in der NIST-Sonderveröffentlichung 800-56A Revision 3 spezifiziert. https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf