Schlüsselzwecke und Algorithmen

Jeder Cloud KMS-Schlüssel hat einen Zweck, der die kryptografischen Fähigkeiten des Schlüssels definiert. Durch den Zweck wird außerdem bestimmt, welche Algorithmen für die Versionen des Schlüssels unterstützt werden. Der Algorithmus legt fest, welche Parameter für einzelne kryptografische Vorgänge verwendet werden müssen. Jeder Schlüssel hat außerdem ein Schutzniveau, das angibt, ob kryptografische Vorgänge auf Software-Ebene oder in einem Hardware-Sicherheitsmodul (Hardware Security Module, HSM) ausgeführt werden.

Schlüsselzwecke

Cloud KMS bietet Schlüsselzwecke für folgende Szenarien:

Szenario Schlüsselzweck Unterstützte Methoden
Symmetrische Verschlüsselung ENCRYPT_DECRYPT cryptoKeys.encrypt, cryptoKeys.decrypt
Asymmetrisches Signieren (Beta) ASYMMETRIC_SIGN cryptoKeys.asymmetricSign, cryptoKeyVersions.getPublicKey
Asymmetrische Verschlüsselung (Beta) ASYMMETRIC_DECRYPT cryptoKeyVersions.asymmetricDecrypt, cryptoKeyVersions.getPublicKey

Wenn Sie einen Schlüssel erstellen, legen Sie den Zweck und den Algorithmus dieses Schlüssels fest. Je nach Zweck können Sie den Algorithmus ändern, wenn Sie neue Schlüsselversionen erstellen. Der Zweck selbst kann nicht geändert werden.

Zwei Schlüssel mit demselben Zweck können unterschiedliche zugrunde liegende Algorithmen verwenden, müssen aber denselben Satz von kryptografischen Vorgängen unterstützen.

Symmetrische Verschlüsselungsalgorithmen

Der Schlüsselzweck ENCRYPT_DECRYPT ermöglicht die symmetrische Verschlüsselung. Alle Schlüssel mit dem Schlüsselzweck ENCRYPT_DECRYPT verwenden den Algorithmus GOOGLE_SYMMETRIC_ENCRYPTION. Bei diesem Algorithmus werden keine Parameter verwendet. Er nutzt AES-Schlüssel (Advanced Encryption Standard) mit 256 Bit im Galois Counter Mode (GCM), die mit Cloud KMS-internen Metadaten aufgefüllt sind.

Asymmetrische Signaturalgorithmen (Beta)

Der Schlüsselzweck ASYMMETRIC_SIGN ermöglicht asymmetrische Signaturen. Schlüssel mit dem Schlüsselzweck ASYMMETRIC_SIGN verwenden unterschiedliche Algorithmen. Dies richtet sich danach, ob der Schlüssel Elliptische-Kurven-Signaturen oder RSA-Signaturen unterstützt.

Bei einem Schlüssel mit dem Zweck ASYMMETRIC_SIGN können Sie mithilfe des Algorithmus zwischen Schlüsseln unterschiedlicher Größe und verschiedenen Signaturschemata wechseln.

Elliptische-Kurven-Signaturalgorithmen (Beta)

So sieht das Format eines Elliptische-Kurven-Signaturalgorithmus aus:

EC_SIGN_[ELLIPTIC_CURVE]_[DIGEST_ALGORITHM]

Dabei gilt:

  • [ELLIPTIC_CURVE] ist die elliptische Kurve
  • [DIGEST_ALGORITHM] ist der Digest-Algorithmus

Die folgende Tabelle enthält die möglichen Algorithmen für Elliptische-Kurven-Schlüssel mit dem Zweck ASYMMETRIC_SIGN.

Algorithmus Beschreibung
EC_SIGN_P256_SHA256 (empfohlen) ECDSA auf der P-256-Kurve mit einem SHA-256-Digest
EC_SIGN_P384_SHA384 ECDSA auf der P-384-Kurve mit einem SHA-384-Digest

RSA-Signaturalgorithmen (Beta)

So sieht das Format eines RSA-Signaturalgorithmus aus:

RSA_SIGN_[PADDING_ALGORITHM]_[MODULUS_BIT_LENGTH]_[DIGEST_ALGORITHM]

Dabei gilt:

  • [PADDING_ALGORITHM] ist der Padding-Algorithmus
  • [MODULUS_BIT_LENGTH] ist die Bitlänge des Schlüssels
  • [DIGEST_ALGORITHM] ist der Digest-Algorithmus

Die folgende Tabelle enthält die möglichen Algorithmen für RSA-Schlüssel mit dem Zweck ASYMMETRIC_SIGN.

Algorithmus Beschreibung
RSA_SIGN_PSS_2048_SHA256 RSASSA-PSS-2048-Bit-Schlüssel mit einem SHA-256-Digest
RSA_SIGN_PSS_3072_SHA256 (empfohlen) RSASSA-PSS-3072-Bit-Schlüssel mit einem SHA-256-Digest
RSA_SIGN_PSS_4096_SHA256 RSASSA-PSS-4096-Bit-Schlüssel mit einem SHA-256-Digest
RSA_SIGN_PSS_4096_SHA512 RSASSA-PSS-4096-Bit-Schlüssel mit einem SHA-512-Digest
RSA_SIGN_PKCS1_2048_SHA256 RSASSA-PKCS1-v1_5 mit einem 2048-Bit-Schlüssel und einem SHA-256-Digest
RSA_SIGN_PKCS1_3072_SHA256 RSASSA-PKCS1-v1_5 mit einem 3072-Bit-Schlüssel und einem SHA-256-Digest
RSA_SIGN_PKCS1_4096_SHA256 RSASSA-PKCS1-v1_5 mit einem 4096-Bit-Schlüssel und einem SHA-256-Digest
RSA_SIGN_PKCS1_4096_SHA512 RSASSA-PKCS1-v1_5 mit einem 4096-Bit-Schlüssel und einem SHA-512-Digest

Die verwendete Salt-Länge für das probabilistische Signaturschema (Probabilistic Signature Scheme, PSS) entspricht der Länge des Digest-Algorithmus. RSA_SIGN_PSS_2048_SHA256 verwendet z. B. ein PSS mit einer Salt-Länge von 256 Bits. Bei PSS wird der im Algorithmusnamen angegebene Digest-Algorithmus auch für die Maskengenerierungsfunktion (MGF1) verwendet. Wenn Sie beispielsweise RSA_SIGN_PSS_2048_SHA256 einsetzen, senden Sie einen SHA-256-Hash der Daten, die signiert werden sollen. Cloud KMS verwendet intern SHA-256 als Hash-Algorithmus für MGF1 beim Berechnen der Signatur.

Asymmetrische Verschlüsselungsalgorithmen (Beta)

Der Schlüsselzweck ASYMMETRIC_DECRYPT ermöglicht die RSA-Verschlüsselung. So sieht das Format eines ASYMMETRIC_DECRYPT-Algorithmus aus:

RSA_DECRYPT_[PADDING_ALGORITHM]_[MODULUS_BIT_LENGTH]_[DIGEST_ALGORITHM]

Dabei gilt:

  • [PADDING_ALGORITHM] ist der Padding-Algorithmus
  • [MODULUS_BIT_LENGTH] ist die Bitlänge des Schlüssels
  • [DIGEST_ALGORITHM] ist der Digest-Algorithmus

Die folgende Tabelle enthält die möglichen Algorithmen für RSA-Schlüssel mit dem Zweck ASYMMETRIC_DECRYPT.

Algorithmus Beschreibung
RSA_DECRYPT_OAEP_2048_SHA256 RSAES-OAEP-2048-Bit-Schlüssel mit einem SHA-256-Digest
RSA_DECRYPT_OAEP_3072_SHA256 (empfohlen) RSAES-OAEP-3072-Bit-Schlüssel mit einem SHA-256-Digest
RSA_DECRYPT_OAEP_4096_SHA256 RSAES-OAEP-4096-Bit-Schlüssel mit einem SHA-256-Digest
RSA_DECRYPT_OAEP_4096_SHA512 RSAES-OAEP-4096-Bit-Schlüssel mit einem SHA-512-Digest

Alle diese Algorithmen verwenden OAEP (Optimal Asymmetric Encryption Padding) mit der Maskengenerierungsfunktion MGF1. MGF1 erfordert einen Digest-Algorithmus. In Cloud KMS wird die Digest-Funktion, die mit MGF1 verwendet werden soll, als Teil des Algorithmusnamens für den Schlüssel angegeben. Wenn Sie beispielsweise den Algorithmus RSA_DECRYPT_OAEP_3072_SHA256 verwenden, sollten Sie SHA-256 mit MGF1 zum Verschlüsseln von Daten nutzen.

Algorithmus-Empfehlungen

Beim digitalen Signieren wird empfohlen, Elliptische-Kurven-Signaturalgorithmen zu verwenden. EC_SIGN_P256_SHA256 ist der empfohlene Elliptische-Kurven-Algorithmus. Wenn Sie RSA-Signaturalgorithmen verwenden, lautet der empfohlene RSA-Signaturalgorithmus RSA_SIGN_PSS_3072_SHA256.

Für die asymmetrische Verschlüsselung wird der Algorithmus RSA_DECRYPT_OAEP_3072_SHA256 empfohlen.

Schutzniveaus

Das Schutzniveau gibt an, wie kryptografische Vorgänge ausgeführt werden. Nachdem Sie einen Schlüssel erstellt haben, können Sie das Schutzniveau nicht mehr ändern.

Schutzniveau Beschreibung
SOFTWARE Kryptografische Vorgänge werden auf Software-Ebene ausgeführt.
HSM (Beta) Kryptografische Vorgänge werden in einem Hardware-Sicherheitsmodul (HSM) ausgeführt.

Alle Schlüsselzwecke werden für die Schutzniveaus SOFTWARE und HSM unterstützt.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Cloud KMS-Dokumentation