IBM Cloud Docs
Erstellung privater Zertifikate vorbereiten

Erstellung privater Zertifikate vorbereiten

Sie können Ihre IBM Cloud® Secrets Manager -Serviceinstanz für die Generierung privater Zertifikate aktivieren, indem Sie die Engine für private Zertifikate konfigurieren.

In Secrets Managerdient die Engine für private Zertifikate als Back-End für den Typ des geheimen Schlüssels private_cert. Private Zertifikate sind SSL/TLS-Zertifikate, die Sie im Service signieren, ausgeben und verwalten können. Bevor Sie ein privates Zertifikat erstellen können, müssen Sie Ihre Serviceinstanz aktivieren, indem Sie Zertifizierungsstellen(CA)Eine anerkannte Drittorganisation oder ein anerkanntes Drittunternehmen, das die digitalen Zertifikate ausgibt. Die Zertifizierungsstelle überprüft standardmäßig die Identität der Einzelpersonen, denen das eindeutige Zertifikat gewährt wird. und eine gültige Vertrauenskette für Ihre Zertifikate erstellen.

Informationen zu Zertifikatshierarchien

Mit Secrets Managerkönnen Sie Ihr eigenes PKI-System (Public-Key Infrastructure) erstellen, indem Sie Zertifizierungsstellen (CA) erstellen, die SSL/TLS-Zertifikate signieren und an Ihre Anwendungen ausgeben können. Mit einer Zertifikatskette können Sie Ihre Secrets Manager -Instanz verwenden, um Private Zertifikate für Ihre Client-und Server-Apps zu erstellen.

Eine gültige Zertifikatskette beginnt bei einer Trusted-Root-Zertifizierungsstelle, durchläuft eine oder mehrere untergeordnete Zertifizierungsstellen und endet mit einem nicht hierarchischen Zertifikat, das für Ihre Endentitätsanwendung ausgestellt wird. Sehen Sie sich beispielsweise die folgende einfache CA-Hierarchie an:

Das Diagramm zeigt eine dreistufige Hierarchie von Zertifikaten, die mit einer Stammzertifizierungsstelle auf der ersten Stufe beginnt.
Example three-level CA hierarchy

  1. Die Stammzertifizierungsstelle dient als Trust-Anchor für Ihre gesamte Zertifikatskette.

  2. Die untergeordneten Zertifizierungsstellen in Ebene 2 werden signiert und von der Stammzertifizierungsstelle ausgegeben. Diese untergeordneten Zertifizierungsstellen signieren andere untergeordnete CA-Zertifikate.

  3. Schließlich signieren die untergeordneten CA-Zertifikate in Ebene 3 und stellen nicht hierarchische Zertifikate für Ihre Endentitätsanwendungen aus.

    In Secrets Managersind nicht hierarchische Zertifikate die Private Zertifikate , die Sie erstellen und in Ihren Anwendungen bereitstellen.

CA-Hierarchie entwerfen

Mit Secrets Manager können Sie bis zu 10 Stamm-CAs und 10 Zwischen-CAs in Ihrer Dienstinstanz erstellen, die mehrere Verzweigungen und Hierarchien enthalten.

Optionen der Zertifizierungsstelle
Berechtigungsart Beschreibung
Stammzertifizierungsstelle Ein Trust-Anchor für Ihre Zertifikatskette. In einer Zertifikatshierarchie steht eine Stammzertifizierungsstelle am Anfang einer Zertifikatskette. Diese Zertifizierungsstelle wird verwendet, um die Zertifikate von Zertifizierungsstellen zu signieren, die ihnen untergeordnet sind, z. B. temporäre Zertifizierungsstellen.
Zwischenzertifizierungsstelle Eine untergeordnete oder untergeordnete Zertifizierungsstelle, die andere CA-Zwischenzertifikate signiert und ausstellt. Eine temporäre Zertifizierungsstelle wird auch verwendet, um nicht hierarchische Zertifikate für Endentitäten auszustellen, z. B. eine Client-oder Serveranwendung. In Secrets Managerkönnen Sie temporäre Zertifizierungsstellen erstellen, die intern oder extern signiert sind.

Struktur einer CA-Hierarchie planen

Am besten planen Sie eine Hierarchie von Zertifizierungsstellen, die der Struktur Ihres Unternehmens entspricht. Normalerweise können Sie eine der folgenden gängigen CA-Strukturen implementieren.

Zwei Ebenen: Stammzertifizierungsstelle und untergeordnete Zertifizierungsstelle

Verwenden Sie diese Option, wenn Ihre Workload die einfachste CA-Struktur erfordert. In diesem Szenario erstellen Sie eine einzelne Trusted-Root-Zertifizierungsstelle. Anschließend erstellen Sie eine untergeordnete Zertifizierungsstelle (z. B. Temporäre Zertifizierungsstelle), um nicht hierarchische Zertifikate für Ihre Apps und Services auszugeben.

Das Diagramm zeigt eine zweistufige Hierarchie von Zertifikaten, die mit einer Stammzertifizierungsstelle auf der ersten Stufe beginnt.
Two-level certificate authority hierarchy

Drei Ebenen: Stammzertifizierungsstelle und zwei untergeordnete Zertifizierungsstellen

Verwenden Sie diese Option, wenn Ihre Workload eine zusätzliche Schicht zwischen der Stammzertifizierungsstelle und den CA-Operationen einer niedrigeren Ebene erfordert. In diesem Szenario wird die mittlere untergeordnete Zertifizierungsstelle nur verwendet, um untergeordnete Zertifizierungsstellen zu signieren, die nicht hierarchische Zertifikate für Ihre Apps ausstellen.

Das Diagramm zeigt eine dreistufige Hierarchie von Zertifikaten, die mit einer Stammzertifizierungsstelle auf der ersten Stufe beginnt.
Three-level certificate authority hierarchy

Tiefe der CA-Hierarchie festlegen

Wenn Sie eine Zertifizierungsstelle in Secrets Managererstellen, können Sie den Parameter Maximale Pfadlänge festlegen, um festzulegen, wie viele CA-Zertifikate in ihrer Berechtigungskette vorhanden sein können. Dieser Wert erzwingt, wie viele CA-Zertifikate im Zertifizierungspfad Ihrer Zertifizierungsstelle vorhanden sein dürfen.

Im Allgemeinen können Sie eine Stammzertifizierungsstelle konfigurieren, die die Anzahl der untergeordneten Zertifizierungsstellen, die sie in ihrem Zertifizierungspfad erstellen kann, nicht beschränkt. Die Definition einer maximalen Pfadlänge auf untergeordneten Zertifizierungsstellen ist jedoch ein wichtiger Sicherheitsschritt, um falsch konfigurierte Zertifizierungsstellen zu vermeiden. Stellen Sie abhängig von der Position einer untergeordneten Zertifizierungsstelle in Ihrer Hierarchie sicher, dass Sie eine maximale Pfadlänge angeben, damit die Berechtigung zum Signieren auf die vorgesehene Tiefe beschränkt ist.

Das Diagramm zeigt eine vierstufige Hierarchie von Zertifikaten, die mit einer Stammzertifizierungsstelle auf der ersten Ebene beginnt.
Three-level certificate authority hierarchy

Die maximale Pfadlänge, die Sie definieren, schließt keine nicht hierarchischen Zertifikate ein. Im vorigen Beispiel kann die untergeordnete CA der Ebene 4 zwar Blattzertifikate ausstellen, aber keine weiteren CA-Zertifikate in ihrem Pfad haben.

Gültigkeitszeitraum für Ihre Zertifikate auswählen

Der Gültigkeitszeitraum eines X.509 -Zertifikats ist ein erforderliches Feld, das festlegt, wie lange das Zertifikat anerkannt wird und gültig bleibt. Wenn Sie Ihre CA-Hierarchie planen, arbeiten Sie ausgehend von Ihrer bevorzugten Lebensdauer rückwärts für die nicht hierarchischen Zertifikate, die Sie für Ihre Anwendungen ausgeben möchten. Bestimmen Sie anschließend den Gültigkeitszeitraum der CA-Zertifikate.

Ein Zertifikat muss eine Gültigkeitsdauer haben, die kürzer oder gleich der Gültigkeitsdauer der ausstellenden Zertifizierungsstelle ist. Wenn Sie beispielsweise eine Stammzertifizierungsstelle mit einer Lebensdauer (TTL, Time-to-Live) von 10 Jahren erstellen, müssen alle temporären Zertifizierungsstellen, die ihr untergeordnet sind, eine Lebensdauer haben, die kleiner-gleich 10 Jahren ist. Wenn eine temporäre Zertifizierungsstelle eine Lebensdauer von 3 Jahren hat, müssen alle Blattzertifikate eine Lebensdauer von 3 Jahren oder weniger haben.

  1. Wählen Sie einen Gültigkeitszeitraum für Ihre nicht hierarchischen Zertifikate aus, der für Ihren Anwendungsfall geeignet ist.

    Die privaten Zertifikate, die Sie mit Secrets Manager erstellen können, gelten als nicht hierarchische Zertifikate, die für eine Endentität wie eine Client-oder Server-App ausgestellt werden können. Mit Secrets Managerkönnen Sie Zertifikate mit einem maximalen Gültigkeitszeitraum von drei Jahren oder 36 Monaten erstellen. Nachdem Sie eine TTL oder eine Gültigkeitsdauer für Leaf-Zertifikate festgelegt haben, legen Sie den Wert mithilfe einer Zertifikatsvorlage fest, so dass Ihre bevorzugte TTL jedes Mal angewendet wird, wenn ein neues Leaf-Zertifikat erstellt wird.

    Je kürzer die TTL Ihrer Blattzertifikate ist, desto besser sind Sie gegen eine versehentliche Aufdeckung oder Kompromittierung Ihres Zertifikats und seines privaten Schlüssels geschützt. Ein kürzerer Gültigkeitszeitraum für Ihre Zertifikate bedeutet, dass Sie die Wahrscheinlichkeit einer Kompromittierung verringern, aber es erfordert auch, dass Sie das Zertifikat häufiger rotieren, um sicherzustellen, dass es gültig bleibt. Um einen versehentlichen Ausfall zu vermeiden, können Sie Automatische Rotation Ihrer privaten Zertifikate planen.

  2. Wählen Sie einen Gültigkeitszeitraum für die untergeordnete Zertifizierungsstelle aus.

    Legen Sie als bewährte Methode eine Gültigkeitsdauer für ein untergeordnetes CA-Zertifikat fest, die deutlich länger ist als die Gültigkeitsdauer der Zertifikate, die sie ausstellen. Definieren Sie einen Gültigkeitszeitraum einer übergeordneten Zertifizierungsstelle, der das Zwei-bis Fünffache des Zeitraums eines von ihr ausgestellten Zertifikats einer untergeordneten Zertifizierungsstelle oder eines nicht hierarchischen Zertifikats beträgt. Wenn Sie beispielsweise über eine Zweistufige CA-Hierarchie verfügen und Sie Leaf-Zertifikate mit einer Lebensdauer von einem Jahr ausstellen möchten, konfigurieren Sie die untergeordnete ausstellende Zertifizierungsstelle mit einer Lebensdauer von drei Jahren. Sie können untergeordnete CA-Zertifikate jederzeit aktualisieren, ohne das Zertifikat der Stammzertifizierungsstelle zu ersetzen.

  3. Wählen Sie einen Gültigkeitszeitraum für Ihre Stammzertifizierungsstelle aus.

    Wenn Sie ein Zertifikat einer Stammzertifizierungsstelle aktualisieren, wirkt sich die Änderung auf Ihre gesamte Public-Key-Infrastruktur aus. Um die Auswirkungen zu minimieren, wird empfohlen, einen langen Gültigkeitszeitraum für Ihr Root-CA-Zertifikat festzulegen. In Secrets Managerbeträgt die Standard-TTL für Stammzertifikate 10 Jahre.

Auswahl eines Schlüsselverwaltungsdienstes

Bevor Sie eine Zertifizierungsstelle in Secrets Manager erstellen, müssen Sie einen Key Management Service (KMS) für die Erzeugung der öffentlichen und privaten Schlüssel für Ihre CA auswählen. In diesem Fall werden die öffentlichen und privaten Schlüssel der Zertifizierungsstelle in Software erstellt und intern vom Dienst verwaltet. Sie können sich auch dafür entscheiden, Ihre Schlüssel in einem externen Hardware-Sicherheitsmodul (HSM) zu verwalten. Secrets Manager unterstützt IBM Cloud Hyper Protect Crypto Services (HPCS) zur Verwaltung der CA-Schlüssel. Sie können eine CA so konfigurieren, dass sie vorhandene Schlüssel in einem privaten HPCS-Keystore verwendet, oder Sie können Secrets Manager erlauben, neue Schlüssel für die CA zu erstellen.

Die Secrets Manager Private Certificate Engine verwendet die PKCS#11 API zur Kommunikation mit HPCS. Die Authentifizierung und Autorisierung erfolgt über einen IAM-API-Schlüssel, der über ein Secrets Manager IAM-Anmeldungsgeheimnis verwaltet wird. Die kryptografischen Signiervorgänge werden in HPCS durchgeführt, wobei das Material des privaten CA-Schlüssels das Kryptogerät nie verlässt.

Hinweis: Secrets Manager kontrolliert nicht die Kosten oder Ratenbeschränkungen, die mit der Erstellung von CA-Zertifikaten mit Schlüsseln in HPCS verbunden sind.

Vorbereiten der Erstellung einer CA mit Schlüsseln in HPCS

Sie sollten eine Instanz von HPCS in Ihrem Konto eingerichtet haben. Erstellen Sie in Ihrer HPCS-Instanz einen privaten Schlüsselspeicher, der für die CA-Schlüssel verwendet werden soll.
Befolgen Sie die Anweisungen in der HPCS-Dokumentation zum Einrichten eines PKCS #11-Benutzertyps Normal.

  1. Benutzerdefinierte IAM-Rollen erstellen

    1. Erstellen einer benutzerdefinierten Rolle zur Durchführung von Verschlüsselungsvorgängen
    2. Erstellen einer benutzerdefinierten Rolle für die Schlüsselverwaltung
  2. IAM-Dienst-ID erstellen

    1. Dienst-ID für den normalen Benutzer erstellen

Hinweis: Erstellen Sie keinen API-Schlüssel für die Service-ID. Der API-Schlüssel wird von Secrets Manager erstellt und verwaltet

  1. Zuweisung von IAM-Rollen zur Service-ID
    1. Zuweisung der benutzerdefinierten Rollen an die Dienst-ID
    2. Weisen Sie der Service-ID für die HPCS-Instanz eine Viewer-Rolle zu.

In Ihrer Secrets Manager:

  1. Konfiguration der IAM-Anmeldeinformationen
  2. Erstellen Sie ein neues IAM-Anmeldungsgeheimnis und konfigurieren Sie Folgendes:
    1. Zielkriterien festlegen Lease duration
    2. Aktivieren Reuse IAM credentials until lease expires aktiviert
    3. Aktivieren Automatic secret rotation
    4. Zuweisung des Zugriffs auf die für die Authentifizierung bei HPCS erstellte Service-ID

Algorithmus zum Generieren von Schlüsseln auswählen

Bevor Sie eine Zertifizierungsstelle in Secrets Managererstellen, müssen Sie einen Schlüsselalgorithmus zum Generieren der öffentlichen und privaten Schlüssel für Ihre Zertifizierungsstelle auswählen. Das Paar aus öffentlichem und privatem Schlüssel wird für die Authentifizierung einer SSL/TLS-Verbindung verwendet. Wenn Sie nicht sicher sind, wo Sie beginnen sollen, können Sie die folgende Anleitung zur Auswahl eines Schlüsselalgorithmus verwenden.

  1. Wählen Sie eine Algorithmusfamilie aus.

    Der von Ihnen ausgewählte Schlüsselalgorithmus bestimmt den Verschlüsselungsalgorithmus und die Schlüsselgröße, die zum Generieren von Schlüsseln und Signaturzertifikaten verwendet werden sollen. Es hat sich bewährt, für alle Zertifikate, die zu einer Zertifikatskette gehören, dieselbe Algorithmusfamilie zu verwenden. Secrets Manager unterstützt die folgenden Algorithmusfamilien.

    Unterstützte Algorithmenfamilien und Schlüsselgrößen
    Algorithmusfamilie Beschreibung Unterstützte Schlüsselgrößen
    RSA RSA ist der weit verbreitete und mit den meisten Browsern und Servern kompatible Industriestandard für Verschlüsselung mit öffentlichem Schlüssel. 2048 bits
    4096 Bit
    Elliptische Kurve (EC) Generiert stärkere Schlüssel und kleinere Zertifikate. Ein 256-Bit-EC-Schlüssel entspricht in seiner Verschlüsselungsstärke beispielsweise einem 3072-Bit-RSA-Schlüssel. 224 bits
    256 bits
    384 bits
    521 Bit
  2. Wählen Sie eine Schlüsselgröße aus.

    Die von Ihnen ausgewählte Schlüsselgröße oder -länge bestimmt die Verschlüsselungsstärke. Je größer die Schlüsselgröße für eine Algorithmusfamilie ist, desto schwieriger ist es zu brechen. Beachten Sie, dass längere Schlüssellängen dazu führen, dass mehr Daten gespeichert und übertragen werden, was sich auf die Leistung Ihres Zertifikats auswirken kann. Wählen Sie als bewährtes Verfahren eine Schlüsselgröße aus, die für die Lebensdauer oder den Gültigkeitszeitraum Ihres Zertifikats geeignet ist.

    Für länger gültige Zertifikate wird empfohlen, längere Schlüssellängen zu verwenden, um mehr Verschlüsselungsschutz zu bieten.

Nicht authentifizierte Endpunkte der Zertifizierungsstelle verwenden

Wenn Sie nicht hierarchische Zertifikate verwenden, die von einer Zertifizierungsstelle in Secrets Manager für Ihre Anwendungen ausgegeben wurden, verwenden Sie die folgenden API-Aufrufe, um Zugriff auf die ausstellende Zertifikatswiderrufsliste (Certificate Revocation List, CRL) und das CA-Zertifikat zu erhalten.

Zertifikatswiderrufsliste lesen

Mit diesem Endpunkt können Sie die aktuelle CRL in roher, DER-kodierter Form abrufen. Wenn dem Endpunkt /pem hinzugefügt wird, wird die CRL im PEM-Format zurückgegeben.

GET v1/ibmcloud/private_cert/config/certificate_authorities/:ca-name/crl(/pem)

Response 200 OK
<binary DER-encoded CRL>

Sie können Ihre Zertifizierungsstelle mit der Eigenschaft "crl_distribution_points_encoded": true konfigurieren, um zu überprüfen, ob Ihre Blattzertifikate oder Zwischenzertifizierungsstellenzertifikate aus dem Kontext eines Blattzertifikats widerrufen werden. Diese Konfiguration codiert die URL, die zum Herunterladen der CRL der ausstellenden Zertifizierungsstelle in der Eigenschaft verwendet wird, wie z. B. X509v3 CRL Distribution Points in jedem Blatt-oder Zwischenzertifizierungsstellenzertifikat. Anschließend kann Ihr CA-Prüfprogramm prüfen, ob die nicht hierarchischen Zertifikate oder die Zwischenzertifikate der Zertifizierungsstelle widerrufen wurden.

CA-Zertifikat lesen

Mit diesem Endpunkt können Sie das CA-Zertifikat in unaufbereiteter DER-codierter Form abrufen. Wenn dem Endpunkt /pem hinzugefügt wird, wird das CA-Zertifikat im PEM-Format zurückgegeben.

GET v1/ibmcloud/private_cert/config/certificate_authorities/:ca-name/ca(/pem)

Response 200 OK
<binary DER-encoded certificate >

CA-Zertifikatskette lesen

Sie können mit diesem Endpunkt die CA-Zertifikatskette abrufen, die die Zertifizierungsstelle im PEM-Format enthält. Dieser Endpunkt ist leer. Es gibt keine Vault-Standarddatenstruktur zurück und die Vault-CLI kann sie nicht lesen.

GET v1/ibmcloud/private_cert/config/certificate_authorities/:ca-name/ca_chain

Response 200 OK
<PEM-encoded certificate chain>

Um zu überprüfen, ob die Zertifizierungsstellenkette aus dem Kontext eines nicht hierarchischen Zertifikats stammt, können Sie Ihre Zertifizierungsstellen in Secrets Manager mit der Eigenschaft "issuing_certificates_urls_encoded": true konfigurieren. In jedem Leaf-oder CA-Zwischenzertifikat codiert diese Konfiguration die URL, die zum Herunterladen des ausstellenden CA-Zertifikats in der Eigenschaft Authority Information Access/CA Issuers verwendet wird. Anschließend kann Ihr CA-Prüfprogramm jedes CA-Zertifikat validieren.

Nächste Schritte

Jetzt können Sie Zertifizierungsstellen für Ihre Instanz erstellen.