Schlüsselalgorithmus auswählen

Bevor Sie eine Zertifizierungsstelle erstellen, müssen Sie einen Signaturalgorithmus für den unterstützenden Cloud Key Management Service-Schlüssel der Zertifizierungsstelle auswählen. Mit Certificate Authority Service können Zertifizierungsstellen mit bereits vorhandenen Cloud KMS-Schlüsseln mithilfe eines der unterstützten asymmetrischen Signaturalgorithmen erstellt werden. Alternativ können Sie eine kleinere Teilmenge dieser Algorithmen auswählen und den Schlüssellebenszyklus vom Dienst erstellen und verwalten lassen.

Auf dieser Seite werden die Faktoren aufgeführt, die Sie bei der Entscheidung für den Signaturalgorithmus einer Zertifizierungsstelle berücksichtigen müssen.

Algorithmusfamilien

Cloud KMS unterstützt zwei Familien von Algorithmen für asymmetrische Signaturvorgänge: RSA und ECDSA.

RSA

RSA-basierte Signaturprogramme sind je nach Alter auch auf mehreren Plattformen kompatibel. Wenn Sie Clients unterstützen müssen, die ältere Betriebssysteme, Protokolle, Firmware oder andere Technology Stacks verwenden, ist RSA eine gängige Wahl.

Cloud KMS stellt zwei Hauptvarianten von RSA-Signaturalgorithmen bereit: RSA_SIGN_PSS und RSA_SIGN_PKCS1. Die PSS-Varianten verwenden das in Abschnitt 8.1 von RFC 8017 beschriebene RSASSA-PSS-Signaturschema, das neuer und nachweislich sicherer ist. Die PKCS1-Varianten verwenden das ältere PKCS#1 v1.5-Signaturschema, das in Abschnitt 8.2 von RFC 8017 beschrieben wird.

Bei neueren Hierarchien wird empfohlen, die PSS-Varianten zu verwenden, wenn dies von allen Anwendungen unterstützt wird, die diese Zertifikate möglicherweise verwenden. Andernfalls sind die PKCS1-Varianten aufgrund ihrer umfassenderen Unterstützung besser geeignet.

ECDSA

Asymmetrische Schlüssel, die auf elliptischen Kurven basieren, sind zwar relativ neu als ihre RSA-Entsprechungen, werden aber immer noch in vielen der gängigsten Technology Stacks unterstützt, die in den letzten zehn Jahren veröffentlicht wurden. Sie sind besonders beliebt, da sie eine ähnliche Sicherheitsstärke wie RSA-Schlüssel mit kleineren Schlüsselgrößen erreichen können. Anwendungen, die ECDSA-Schlüssel verwenden, speichern und übertragen weniger Daten über die Leitung.

Cloud KMS stellt zwei Hauptvarianten von ECDSA-Signaturalgorithmen bereit: EC_SIGN_P256 und EC_SIGN_P384.

Gemischte Ketten

Eine gemischte (oder Hybrid-)Kette ist eine Zertifikatskette, in der ein oder mehrere Zertifikate unterschiedliche Schlüsselalgorithmusfamilien verwenden, z. B. RSA in einigen Zertifikaten und ECDSA in anderen. Einige Technology Stacks haben Probleme beim Parsen gemischter Zertifikatsketten und zeigen in diesen Fällen möglicherweise unerwartete Fehler an. Darüber hinaus gibt es in einigen Branchen Compliance-Anforderungen, die eine CA-Kette erfordern, um eine einzelne Algorithmusfamilie zu verwenden.

In der Regel wird für ECDSA-Schlüssel eine separate CA-Kette eingerichtet als für RSA-Schlüssel.

Schlüsselgröße

Größere Schlüssel (innerhalb derselben Familie) bieten zwar eine höhere Sicherheit, führen aber auch dazu, dass mehr Daten gespeichert und über das Netzwerk übertragen werden. Außerdem können Verschlüsselungs- und Signaturvorgänge bei größeren Schlüsseln manchmal länger dauern, obwohl dies in der Regel zu klein ist.

Eine typische Vorgehensweise besteht darin, für längerfristige Schlüssel, z. B. solche, die mit Root- oder langlebigen untergeordneten Zertifizierungsstellen verknüpft sind, Schlüsselgrößen mit einer höheren Sicherheitsstärke als andere Schlüssel zu verwenden.

Entscheidungshilfe

Sie können diese einfache Anleitung verwenden, um einen geeigneten Signaturalgorithmus für Ihren CA-Schlüssel auszuwählen:

  1. Algorithmusfamilie auswählen

    Wenn Sie eine untergeordnete Zertifizierungsstelle erstellen, die mit einer vorhandenen Stamm-CA verkettet ist, verwenden Sie dieselbe Familie als Stamm-CA.

    Wenn Sie eine neue Stammzertifizierungsstelle erstellen, aber mit Legacy-Systemen arbeiten müssen, die ECDSA nicht unterstützen, verwenden Sie einen der RSA-Signaturalgorithmen.

    Verwenden Sie andernfalls einen der Signaturalgorithmen für elliptische Kurven.

  2. (Nur RSA) Signaturalgorithmus auswählen

    Wenn Sie mit älteren Bibliotheken oder Frameworks arbeiten möchten, die PSS nicht unterstützen, verwenden Sie einen der RSA_SIGN_PKCS1-Algorithmen.

    Verwenden Sie andernfalls einen der RSA_SIGN_PSS-Algorithmen.

  3. Schlüsselgröße auswählen

    Für eine neue Stamm-CA oder eine untergeordnete Zertifizierungsstelle, deren Lebensdauer voraussichtlich mehrere Jahre haben wird, empfehlen wir die Verwendung der größten Schlüsselgröße, die für diese Algorithmusfamilie verfügbar ist.

    • Für RSA beträgt die maximal unterstützte Schlüsselgröße 4.096 Bit.
    • Für ECDSA beträgt die größte unterstützte Schlüsselgröße 384 Bit.

    Bei untergeordneten CAs mit einer kürzeren Lebensdauer reicht es aus, kleinere Schlüsselgrößen zu verwenden, z. B. 2.048 Bit für RSA oder 256 Bit für ECDSA.

Nächste Schritte