IBM Cloud Docs
Daten schützen

Daten schützen

Der Datenträger, den Sie Ihrer Hyper Protect Virtual Server for VPC-Instanz zuordnen, wird durch eine LUKS-Verschlüsselungskennphrase ( Linux Unified Key Setup) geschützt, die von Seeds abgeleitet wird, die während der Bereitstellung bereitgestellt werden. Sie können Ihren ruhenden Daten eine höhere Stufe des Verschlüsselungsschutzes und der Verschlüsselungssteuerung hinzufügen, indem Sie Ihren eigenen Schlüssel aus Hyper Protect Crypto Servicesverwenden.

Verschlüsselung Ihres Datenvolumens

Ohne Ihren eigenen Schlüssel wird das an Ihre Instanz angehängte Datenvolumen automatisch mit zwei Seedwerten verschlüsselt, die in den Abschnitten workload- volumes und env- volumes des Vertrags bereitgestellt werden. Die Seedwerte werden intern in UTF8-Sequenzen konvertiert und anschließend verkettet. Der Hashwert (SHA256) der verknüpften Sequenz wird als Hexadezimalauszug berechnet, der als LUKS-Kennphrase zum Verschlüsseln des Datendatenträgers verwendet wird. Weitere Informationen finden Sie unter Informationen zum Vertrag.

Schutz Ihrer sensiblen Daten mit Ihrem eigenen Schlüssel

Ab ibm-hyper-protect-container-runtime-1-0-s390x-11 unterstützt Hyper Protect Virtual Servers für VPC die Integration mit dem Key Management Service (KMS) Hyper Protect Crypto Services. Hyper Protect Crypto Services generiert einen Zufallswert als dritten Seed und schließt ihn mit dem CRK (Customer Root Key) ein. Weitere Informationen zu CRK finden Sie unter Rootschlüssel. Der eingeschlossene Seedwert wird in der Metadatenpartition Ihres Datenträgers gespeichert. Die LUKS-Kennphrase wird unter Verwendung von drei Seeds generiert-dem Seed in der Metadatenpartition (zuerst nicht eingeschlossen) und den beiden Seedwerten aus dem Vertrag.

Hintergrundwissen: Von der HPCR-Imageversion ibm-hyper-protect-container-runtime-1-0-s390x-9 wird der Datenträger für neue Hyper Protect Virtual Servers für VPC-Instanzen in zwei Teile partitioniert. Die erste Partition (100 Mib) ist nur für interne Metadaten reserviert (nicht für den Zugriff durch eine Workload); die zweite Partition bleibt als Datenträger für die Workload. Nur neue Datenträger werden partitioniert.

Integration mit Schlüsselmanagementservice
Integration mit Schlüsselmanagementservice

Derzeit wird nur Hyper Protect Crypto Services als Schlüsselmanagementservice unterstützt.

Die folgende Tabelle gibt einen Überblick über das Saatgut. Der dritte Seedwert ist der von Ihrem Schlüsselmanagementservice bereitgestellte Seedwert.

Seeds, die zur Erzeugung der Passphrase für die LUKS-Verschlüsselung verwendet werden
Seedwert Provider Von Erforderlich oder optional
seed1 Bereitstellerpersona env-Abschnitt volumes des Vertrags Erforderlich
seed2 Workload-Persona workload-Abschnitt volumes des Vertrags Erforderlich
seed3 Hyper Protect Crypto Services Hyper Protect Crypto Services generiert den dritten Seed und schließt ihn nur dann mit dem CRK ein, wenn kms-Details im Vertrag angegeben sind. Dies geschieht, indem Hyper Protect Virtual Servers eine Wrap-API aufruft. Der eingeschlossene Seedwert wird in der Metadatenpartition des Datenträgers gespeichert. Optionale

Generierung der LUKS-Kennphrase
Generierung der LUKS-Kennphrase

Der Schlüsseldämon wird gestartet, wenn der Datenträger durch die KMS-Instanz geschützt ist. Es ist verantwortlich für die Reaktion auf Statusänderungen des CRK (die später in dieser Dokumentation eingeführt werden).

Informationen zu den vom Kunden verwalteten Schlüsseln

Hyper Protect Virtual Servers for VPC verwenden Envelope-VerschlüsselungDer Prozess des Verschlüsselns von Daten mit einem Datenverschlüsselungsschlüssel und anschließendem Verschlüsseln des Schlüssels mit einem Rootschlüssel, der vollständig verwaltet werden kann., um vom Kunden verwaltete Schlüssel zu implementieren. Bei der Umschlagverschlüsselung wird ein Verschlüsselungscode mit einem anderen Verschlüsselungscode verschlüsselt (umhüllt). In unserem Fall ist der eingeschlossene Schlüssel der dritte Seed und der Schlüssel, der zum Wrapping des Seeds verwendet wird, ist der CRK von Hyper Protect Crypto Services.

Sie sind Eigner des CRK in Hyper Protect Crypto Services. Hyper Protect Virtual Server for VPC sieht den CRK nie. Seine Speicherung, Verwaltung und Verwendung zum Ein- und Auspacken des Seeds erfolgt vollständig innerhalb des Schlüsselverwaltungsdienstes.

Hyper Protect Crypto Services wird durch FIPS 140-2 Level 4-zertifizierte Hardware unterstützt, was die höchste Stufe ist, die von einem Cloud-Anbieter in der Branche angeboten wird. Weitere Informationen finden Sie unter Einführung in Hyper Protect Crypto Services.

Vom Kunden verwaltete Schlüssel für Hyper Protect Virtual Servers für VPC aktivieren

Ob Sie die Funktion aktivieren können, hängt vom Protokoll der Hyper Protect Virtual Server (Partitionslayout und LUKS-Verschlüsselung) und von den Vertragsinformationen ab. Die folgende Tabelle enthält mögliche Szenarios und Ergebnisse. Wenn Sie nicht wissen, was kms-Details im Vertrag bedeuten, lesen Sie die Anweisungen in Schritte. Tabelle mit dem Verhalten eines virtuellen Servers während des Starts, der Anzahl der Datenträger, die während des Starts an die Partition angehängt werden, und der Eingabe, die in der Vertragsdatei angegeben ist.

Szenarios
Anzahl der Partitionen auf dem Datenträger Metadatenpartition Vertrag Ob die Partition/zweite Partition LUKS-verschlüsselt ist Verhalten von Hyper Protect Virtual Server
0 Nicht zutreffend Hat kms-Details Nicht LUKS verschlüsselt Die Instanz erstellt zwei Partitionen im Datenträger für Daten und ruft Hyper Protect Crypto Services auf, um einen dritten Seed zu generieren und mit dem CRK einzuschließen. Der eingeschlossene Seedwert wird in der Metadatenpartition gespeichert. Anschließend generiert die Instanz eine LUKS-Kennphrase mit dem Seed (nicht eingeschlossen zuerst) und den beiden Seeds aus dem Vertrag, um die zweite Partition zu verschlüsseln.
0 Nicht zutreffend Hat kms-Details LUKS verschlüsselt Die Instanz wird beendet. Sie müssen die kms-Details aus dem Vertrag entfernen.
1 Nicht zutreffend Nicht unterstützt. Die Instanz wird beendet.
2 Kein verschlüsselter Seedwert. Hat kms-Details (ein Eintrag) Nicht LUKS verschlüsselt Die Instanz ruft Hyper Protect Crypto Services auf, um einen dritten Seed zu generieren und ihn mit dem CRK einzuschließen. Der eingeschlossene Seedwert wird in der Metadatenpartition gespeichert. Anschließend generiert die Instanz eine LUKS-Kennphrase mit dem Seed (nicht eingeschlossen zuerst) und den beiden Seeds aus dem Vertrag, um die zweite Partition zu verschlüsseln.
2 Kein verschlüsselter Seedwert. Hat kms-Details (ein Eintrag) LUKS verschlüsselt Ähnlicher Ablauf wie der vorherige zum erneuten Verschlüsseln der zweiten Partition. Die alte LUKS-Kennphrase wird ersetzt. Beachten Sie, dass die beiden Seedwerte aus env und workload wie zuvor sein müssen. Andernfalls schlägt die erneute Verschlüsselung fehl und die Instanz wird beendet. Geben Sie die richtigen Seeds an und wiederholen Sie den Vorgang.
2 Kein verschlüsselter Seedwert. Hat kms Details (mehrere Einträge) Nicht LUKS verschlüsselt Ähnlicher Ablauf wie in den vorherigen Szenarios, um den dritten Seed einzuschließen und die zweite Partition zu verschlüsseln. Nur die Konfiguration im ersten Eintrag wird verwendet, um den dritten Seed einzuschließen.
2 Hat einen verschlüsselten Seedwert Hat kms-Details (ein Eintrag) Nicht LUKS verschlüsselt Möglicherweise haben Sie den Datenträger in der vorherigen Bereitstellung verwendet, aber die Verschlüsselung war nicht erfolgreich oder Sie haben den Datenträger mit zwei Partitionen bereitgestellt und manuell einen Zufallswert als dritten Seedwert erstellt, ihn eingeschlossen und in der Metadatenpartition gespeichert. In beiden Fällen prüft die Instanz, ob die Partitionierung korrekt ist. Ist dies nicht der Fall, wird die Instanz beendet. Wenn die Partitionierung korrekt ist, ruft die Instanz Hyper Protect Crypto Services auf, um das Wrapping des verschlüsselten Seeds aufzuheben, und generiert eine LUKS-Kennphrase mit dem Seed und den beiden Seeds aus dem Vertrag, um die zweite Partition zu verschlüsseln.
2 Hat einen verschlüsselten Seedwert Hat kms-Details (ein Eintrag) LUKS verschlüsselt Die Instanz ruft Hyper Protect Crypto Services auf, um das Wrapping des verschlüsselten Seeds aufzuheben und die LUKS-Schicht in der Datenpartition zu öffnen.
2 Hat einen verschlüsselten Seedwert Hat kms Details (mehrere Einträge) Die Instanz ruft Hyper Protect Crypto Services auf, um das Wrapping des verschlüsselten Seeds mit dem ersten Eintrag kms aufzuheben. Schlägt er fehl, wird der nächste Eintrag verwendet. Wenn er erfolgreich ist, verwendet er die erste Konfiguration, um den Seed erneut einzuschließen. Wenn alle Einträge nicht funktionieren, wird die Instanz beendet.
2 Hat einen verschlüsselten Seedwert Keine kms-Details Die Instanz wird beendet. Sie müssen kms-Details im Vertrag angeben.

Überprüfen Sie die Protokolle in Log Analysis, wenn Ihre Instanz beendet wird.

Schritte

  1. Stellen Sie eine Hyper Protect Crypto Services-Instanz bereit und erstellen Sie einen Rootschlüssel. Weitere Informationen finden Sie unter Rootschlüssel erstellen.

    Zur Verbesserung der Sicherheit wird empfohlen, virtuelle private Endpunkte mit Hyper Protect Crypto Serviceszu verwenden.

  2. Wenn Sie den Vertrag vorbereiten, fügen Sie kms Details im Abschnitt env- volumes hinzu und verwenden Sie dann den Vertrag, um eine Hyper Protect Virtual Server for VPC-Instanz zu erstellen. Beispiel:

    env: |
      logging:
        logDNA:
          hostname: syslog-a.eu-gb.logging.cloud.ibm.com
          ingestionKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
          port: 6514
      volumes:
        test:
          kms:
            - apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
              crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx"
              type: "public"
            - apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
              crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/xxxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx:key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
              type: "private"
          seed:"seed1"
          kmsTimeout: 10
          apiKey: "L4SsSE32xxxxxjAgfHCVkdW8xl_CiqMn4Lpc1dzTD"
      signingKey: "xxxxxxxxx"
    
    workload: |
      volumes:
        test:
          mount: "/mnt/data"
          seed: "seed2"
          filesystem: "ext4"
    

Um Missbrauch der KMS-Details durch einen Angreifer zu vermeiden, wird dem Bereitsteller (der den Abschnitt env bereitstellt) dringend empfohlen, den Vertrag zu verschlüsseln und zu unterzeichnen. Weitere Informationen zur Verschlüsselung finden Sie unter Vertragsverschlüsselung. Fügen Sie für die Signatur einen öffentlichen Signierschlüssel (Feld signingKey ) zu Ihrem Abschnitt env hinzu und signieren Sie den gesamten Vertrag, indem Sie einen Abschnitt envWorkloadSignature zum Vertrag hinzufügen. Die Signatur soll sicherstellen, dass die Abschnitte workload und env immer zusammen verwendet werden und nicht von einem Dritten manipuliert werden. Weitere Informationen finden Sie unter Vertragssignatur.

  • kms

    Fügen Sie im Feld kms immer die KMS-Konfiguration ein, die Sie als ersten Eintrag verwenden wollen. Bei den folgenden Einträgen handelt es sich um ältere KMS-Konfigurationen (zur Entschlüsselung des eingeschlossenen Seedwerts vor der Migration auf die aktuelle Konfiguration). Es werden maximal fünf Einträge unterstützt. Weitere Informationen zum Ändern von KMS-Konfigurationen enthält der Abschnitt Zu einer anderen Hyper Protect Crypto Service-Instanz oder einem anderen Rootschlüssel wechseln.

    Wenn die kms-Details des Vertrags nicht gültig sind, wird die Instanz sofort beendet.

  • kmsTimeout

    Sie können kmsTimeout (zwischen 0 und 1000 Minuten) im Vertrag angeben. Erfolgt keine Angabe, beträgt der Standardwert für das Zeitlimit 10 Minuten. Dieser Wert legt fest, wie lange die Instanz versucht, das Wrapping des Seeds während des ersten Bootens oder Warmstarts aufzuheben. Nach Ablauf dieses Zeitlimits werden Nachrichten protokolliert und die Instanz wird beendet.

  • type

    In diesem Feld geben Sie die Instanzen als "privat" an, wenn sie sich in einem privaten Netz befinden, und als "öffentlich", wenn sie sich im öffentlichen Netz befinden. Dies wird verwendet, um den Wechsel zu einer anderen Hyper Protect Crypto Services-Instanz oder CRK zu unterstützen.

Wenn Ihr Datenträger neu ist, erstellt die Instanz zwei Partitionen auf dem Datenträger für Daten und ruft Hyper Protect Crypto Services auf, um einen dritten Seed zu generieren und mit dem CRK einzuschließen. Der eingeschlossene Seedwert wird in der Metadatenpartition gespeichert. Anschließend generiert die Instanz eine LUKS-Kennphrase mit dem Seed (nicht eingeschlossen zuerst) und den beiden Seeds aus dem Vertrag, um die zweite Partition zu verschlüsseln.

Sie können auch manuell zwei Partitionen in einem Datenträger erstellen, einen Zufallswert als dritten Seedwert erstellen, ihn einschließen und in der Metadatenpartition speichern:

  1. Erstellen Sie mit dem Linux-Befehl parted zwei Partitionen auf der Blockeinheit.

    • Die 1st Partition hat die Bezeichnung metadata und hat eine Länge von 100 MiB (beachten Sie, dass die Metadatenpartition nur für interne Metadaten reserviert ist und nicht für den Zugriff durch eine Workload). Erstellen Sie ein Dateisystem (ext4), bevor Sie die Partition verwenden. Erstellen Sie eine Datei mit dem Namen keyfile.
    • Die 2nd Partition wird als data bezeichnet und füllt den gesamten Plattenspeicherplatz aus.
  2. Verwenden Sie die Hyper Protect Crypto Services KMS-API Wrap a key, um einen zufälligen einfachen Text zu generieren, der in einem HSM verwurzelt ist, und ihn einzuschließen, ohne den Wert zu übergeben.

  3. Kopieren Sie den vom Antwortobjekt zurückgegebenen verschlüsselten Text mit Linux-Befehlen in die Schlüsseldatei.

  4. Bereiten Sie den Vertrag mit den KMS-Informationen vor und erstellen Sie eine Hyper Protect Virtual Server mit dem manuell partitionierten Datenträger, der einen eingeschlossenen Seedwert enthält.

Wenn die Instanz ausgeführt wird, stellt der Schlüsseldämon regelmäßig eine Verbindung zur Hyper Protect Crypto Services-Instanz her. Dasselbe Zeitlimit kmsTimeout gilt. Wenn die Hyper Protect Crypto Services-Instanz nicht erreicht werden kann, der CRK-Status nicht Active ist oder die Zugriffsparameter (kms-Details) nicht mehr übereinstimmen, löst der Dämon einen Warmstart aus.

Überprüfen Sie die Protokolle in Log Analysis, wenn Ihre Instanz beendet wird.

Mit kundenverwalteten Schlüsseln für Hyper Protect Virtual Servers for VPC arbeiten

Rootschlüssel rotieren

Wenn der CRK manuell oder automatisch basierend auf einer Schlüsselrotationsrichtlinie rotiert wird, erkennt der Schlüsseldämon die Schlüsselrotation und führt ein erneutes Wrapping des Seeds durch.

Zu einer anderen Hyper Protect Crypto Service-Instanz oder einem anderen Rootschlüssel wechseln

Wenn Sie eine andere Hyper Protect Crypto Service-Instanz oder eine andere Rootschlüssel-ID verwenden wollen, stellen Sie die neue KMS-Konfiguration als ersten Eintrag in den Vertrag und erstellen Sie eine Hyper Protect Virtual Server erneut. Behalten Sie die alte KMS-Konfiguration (die derzeit verwendet wird) im Vertrag bei. Während der Instanziierung hebt Hyper Protect Virtual Server for VPC das Wrapping des verschlüsselten Seedwerts mit der alten Konfiguration auf und verwendet die neue Konfiguration, um den Seedwert erneut einzuschließen. Im Vertrag werden maximal fünf Einträge unterstützt.

Nach der Änderung können die alten Einträge aus der nächsten Interaktion entfernt werden.

Rootschlüssel inaktivieren

Wenn Sie den Rootschlüssel inaktivieren, lautet der Status des Schlüssels Ausgesetzt. Der Schlüsseldämon von Hyper Protect Virtual Servers for VPC überprüft regelmäßig den Status des CRK. Wenn der Status nicht Aktiv ist, wird der virtuelle Server neu gestartet. Während des Warmstarts überprüft der Schlüsseldämon den Status durch Abfragen. Wenn die Zeit, die er benötigt, kmsTimeout überschreitet, wird der virtuelle Server heruntergefahren. Sie müssen den Rootschlüssel aktivieren, um den Schlüssel wieder in Aktiv zu versetzen.

Stellen Sie sicher, dass Ihr CRK nicht abgelaufen ist. Andernfalls wird der Status in Inaktiviert geändert und der virtuelle Server wird neu gestartet und schließlich heruntergefahren. Weitere Informationen über Schlüsselzustände finden Sie unter Überwachung des Lebenszyklus von Verschlüsselungsschlüsseln.