Zum Inhalt springen

Konzepte

Im Folgenden werden zentrale Begriffe erläutert, die im Kontext des KMS verwendet werden.

Ein Key Ring ist eine logische Gruppe kryptografischer Schlüssel. Er kann eine beliebige Anzahl von Schlüsseln enthalten und dient dazu, diese aus organisatorischen Gründen oder für Zugriffskontrollen zu gruppieren.

Ein Verpackungsschlüssel wird verwendet, um die kryptografischen Schlüssel in Ihrem Key Ring zu ver- und entschlüsseln.

Ein Schlüssel oder Schlüsselpaar existiert innerhalb eines Key-Rings. Er kann entweder erzeugt oder importiert werden und dient der Ver- und Entschlüsselung Ihrer Daten. Ein Schlüssel kann in beliebig vielen Versionen vorliegen.

Versionen ermöglichen Ihnen die Versionsverwaltung kryptografischer Schlüssel und sind stets einem bestimmten Schlüssel zugeordnet.

Ein Key-Import bezeichnet einen extern erzeugten kryptografischen Schlüssel, der in das KMS importiert und gespeichert wird. Diesen können sie dort verwalten und nutzen. Key-Imports sind immer versionsgebunden.

Im folgenden Abschnitt können Sie mehr über weiterführende Konzepte und zusätzliche Details erfahren.

Envelope-Encryption beschreibt den Prozess, einen Schlüssel mit einem anderen Schlüssel zu verschlüsseln. Dadurch entstehen mehrere Schutzschichten, wodurch die Sicherheit erhöht wird. Dies ermöglicht eine saubere Aufgabentrennung auf Schlüssel-Ebene.

Es gibt zwei Typen von Schlüsseln:

  • Data-Encryption-Keys (DEK)
  • Key-Encryption-Keys (KEK)

Diese Schlüssel werden lokal zur Datenverschlüsselung eingesetzt und sind auf einen begrenzten Anwendungsbereich beschränkt. Sie sind in der Regel kurzlebig und können nahe an den zu schützenden Daten gespeichert werden. Bei jeder Datenverschlüsselung können Sie einen neuen DEK verwenden.

Diese Schlüssel besitzen einen größeren Anwendungsbereich und können miteinander verbunden werden, um eine Verantwortlichkeitskette zu bilden. Sie sind langlebig und werden sicher im Key Management Service (KMS) gespeichert. KEKs verlassen das System niemals und sind durch das KMS geschützt.

Eine Schritt-für-Schritt-Übersicht über den Ablauf:

  • Verschlüsseln von Daten: Ein Dienst erzeugt lokal einen DEK, um Daten zu verschlüsseln.
  • Verpacken des DEK: Der DEK wird anschließend mit einem KEK aus dem KMS verpackt.
  • Datenverschlüsselung: Der Dienst verschlüsselt die Daten mit dem unverpackten DEK.
  • Speichern verschlüsselter Daten: Die verschlüsselten Daten und der verpackte DEK werden gemeinsam gespeichert.
  • Entschlüsselung: Bei Bedarf wird der verpackte DEK über das KMS entschlüsselt und anschließend lokal zum Entschlüsseln der Daten verwendet.

Envelope-Encryption bietet zusätzliche Sicherheit und Flexibilität und erleichtert das Sicherheitsmanagement über verschiedene Systeme hinweg. Da KEKs sicher im KMS gespeichert sind, können Sie darauf vertrauen, dass Ihre Daten umfassend geschützt sind.

Key-Purposes (Schlüsselverwendungszweck) und Verschlüsselungsalgorithmen

Abschnitt betitelt „Key-Purposes (Schlüsselverwendungszweck) und Verschlüsselungsalgorithmen“

Der verwendete Algorithmus hängt vom vorgesehenen Verwendungszweck des Schlüssels ab. Der Zweck definiert, wie der Schlüssel benutzt wird. Unterschiedliche Zwecke führen zur Nutzung unterschiedlicher Algorithmen.

Bitte beachten Sie, dass das KMS möglicherweise eine maximale Payload-Größe für Ver- und Entschlüsselungsoperationen vorsieht. Dies dient der Reduzierung der Last auf die API und fördert eine saubere Architektur. Hintergrund ist das Konzept des Schlüsselkettens über Envelope Encryption, bei dem das KMS nur Schlüssel und nicht die Nutzdaten selbst ver- oder entschlüsselt.

  • Symmetrisches Verschlüsseln/Entschlüsseln: Für symmetrische Ver- und Entschlüsselung, insbesondere im Kontext von Envelope Encryption, wobei KEKs DEKs verschlüsseln. Nur normale Keys können diesen Zweck nutzen.
  • Asymmetrisches Verschlüsseln/Entschlüsseln: Zur asymmetrischen Ver- und Entschlüsselung mit dem öffentlichen Schlüssel. Nur normale Keys können diesen Zweck nutzen.
  • Message Authentication Code: Zur Erstellung von MACs für Signatur und Verifikation. Nur normale Keys können diesen Zweck nutzen.
  • Asymmetrisches Signieren/Verifizieren: Zur Erstellung und Verifikation digitaler Signaturen, wobei die Signatur mit dem privaten Schlüssel erfolgt. Nur normale Keys können diesen Zweck nutzen.
  • Verpacken symmetrischer Schlüssel: Zum Verpacken symmetrischer Schlüssel für einen Import. Nur Verpackungsschlüssel können diesen Zweck nutzen.
  • Verpacken asymmetrischer Schlüssel: Zum Verpacken asymmetrischer Schlüssel für einen Import. Nur Verpackungsschlüssel können diesen Zweck nutzen.
  • AES 256 GCM: Es kommt der Advanced Encryption Standard (AES) mit 256-Bit-Schlüssel in Galois Counter Mode (GCM) zum Einsatz.
  • RSA 2048 OAEP SHA256: Diese Variante benutzt einen 2048-Bit-RSA-Schlüssel mit Optimal Asymmetric Encryption Padding (OAEP) und einem 256 Bit-SHA-Digest.
  • RSA 3072 OAEP SHA256: Diese Variante benutzt einen 3072-Bit-RSA-Schlüssel mit Optimal Asymmetric Encryption Padding (OAEP) und einem 256 Bit-SHA-Digest.
  • RSA 4096 OAEP SHA256: Diese Variante benutzt einen 4096-Bit-RSA-Schlüssel mit Optimal Asymmetric Encryption Padding (OAEP) und einem 256 Bit-SHA-Digest.
  • RSA 4096 OAEP SHA512: Diese Variante benutzt einen 4096-Bit-RSA-Schlüssel mit Optimal Asymmetric Encryption Padding (OAEP) und einem 512 Bit-SHA-Digest.
  • ECDSA P256 SHA256: Diese Variante benutzt eine auf dem ECDSA-Algorithmus basierend auf einer P256-Kurve (a.k.a. secp256r1).
  • ECDSA P384 SHA384: Diese Variante benutzt eine auf dem ECDSA-Algorithmus basierend auf einer P384-Kurve (a.k.a. secp384r1).
  • ECDSA P521 SHA512: Diese Variante benutzt eine auf dem ECDSA-Algorithmus basierend auf einer P512-Kurve (a.k.a. secp521r1).
  • HMAC SHA256: Diese Variante benutzt einen 256-Bit-Schlüssel in Kombination mit einer SHA256-Digest (Hash).
  • HMAC SHA384: Diese Variante benutzt einen 384-Bit-Schlüssel in Kombination mit einer SHA384-Digest (Hash).
  • HMAC SHA512: Diese Variante benutzt einen 512-Bit-Schlüssel in Kombination mit einer SHA512-Digest (Hash).
  • RSA 2048 OAEP SHA256: Diese Variante benutzt einen 2048-Bit-RSA-Schlüssel mit Optimal Asymmetric Encryption Padding (OAEP) und einem 256 Bit-SHA-Digest.
  • RSA 3072 OAEP SHA256: Diese Variante benutzt einen 3072-Bit-RSA-Schlüssel mit Optimal Asymmetric Encryption Padding (OAEP) und einem 256 Bit-SHA-Digest.
  • RSA 4096 OAEP SHA256: Diese Variante benutzt einen 4096-Bit-RSA-Schlüssel mit Optimal Asymmetric Encryption Padding (OAEP) und einem 256 Bit-SHA-Digest.
  • RSA 4096 OAEP SHA512: Diese Variante benutzt einen 4096-Bit-RSA-Schlüssel mit Optimal Asymmetric Encryption Padding (OAEP) und einem 512 Bit-SHA-Digest.
  • RSA 2048 OAEP SHA256 mit AES 256 Verpackungsverschlüsselung: Diese Variante benutzt einen 2048-Bit-RSA-Verpackungs-Schlüssel mit Optimal Asymmetric Encryption Padding (OAEP) und einem 256 Bit-SHA-Digest um einen temporären symmetrischen AES 256-Schlüssel zu verschlüsseln. Mit diesem wird das eigentliche Schlüsselmaterial verschlüsselt.
  • RSA 3072 OAEP SHA256 mit AES 256 Verpackungsverschlüsselung: Diese Variante benutzt einen 3072-Bit-RSA-Verpackungs-Schlüssel mit Optimal Asymmetric Encryption Padding (OAEP) und einem 256 Bit-SHA-Digest um einen temporären symmetrischen AES 256-Schlüssel zu verschlüsseln. Mit diesem wird das eigentliche Schlüsselmaterial verschlüsselt.
  • RSA 4096 OAEP SHA256 mit AES 256 Verpackungsverschlüsselung: Diese Variante benutzt einen 4096-Bit-RSA-Verpackungs-Schlüssel mit Optimal Asymmetric Encryption Padding (OAEP) und einem 256 Bit-SHA-Digest um einen temporären symmetrischen AES 256-Schlüssel zu verschlüsseln. Mit diesem wird das eigentliche Schlüsselmaterial verschlüsselt.
  • RSA 4096 OAEP SHA512 mit AES 256 Verpackungsverschlüsselung: Diese Variante benutzt einen 4096-Bit-RSA-Verpackungs-Schlüssel mit Optimal Asymmetric Encryption Padding (OAEP) und einem 256 Bit-SHA-Digest um einen temporären symmetrischen AES 256-Schlüssel zu verschlüsseln. Mit diesem wird das eigentliche Schlüsselmaterial verschlüsselt.