Verwendung von AWS KMS durch Amazon Simple Storage Service (Amazon S3) - AWS Key Management Service

Verwendung von AWS KMS durch Amazon Simple Storage Service (Amazon S3)

In diesem Thema wird beschrieben, wie Sie in Amazon S3-Rechenzentren gespeicherte Daten mithilfe von AWS KMS schützen können. Es gibt zwei Möglichkeiten, AWS KMS mit Amazon S3 zu verwenden: Sie können Ihre Daten per serverseitiger Verschlüsselung mit einem Masterschlüssel schützen oder einen AWS KMS-Kundenmasterschlüssel (Customer Master Key, CMK) mit dem Amazon S3-Verschlüsselungs-Client nutzen, um Ihre Daten clientseitig zu schützen.

Serverseitige Verschlüsselung: Verwenden von SSE-KMS

Zum Schutz von in Amazon S3 gespeicherten Daten stehen drei unterschiedliche Modi serverseitiger Verschlüsselung zur Verfügung: SSE-S3, SSE-C und SSE-KMS.

Im weiteren Verlauf dieses Themas erläutern wir Ihnen, wie Sie Ihre Daten mithilfe der serverseitigen Verschlüsselung auf Basis AWS KMS-verwalteter Schlüssel (SSE-KMS) schützen können.

Sie können Verschlüsselung anfordern und einen CMK mit der Amazon S3-Konsole oder -API auswählen. In der Konsole aktivieren Sie einfach das Kontrollkästchen für die Verschlüsselung und wählen Ihren CMK aus der Liste aus. In der Amazon S3-API legen Sie die Verschlüsselung fest und wählen Ihren CMK, indem Sie die Kopfzeile einer GET- oder PUT-Anforderung entsprechend ändern. Weitere Informationen hierzu finden Sie unter Daten schützen durch serverseitige Verschlüsselung mit verwalteten AWS KMS-Schlüsseln (SSE-KMS).

Wichtig

Amazon S3 unterstützt nur symmetrische CMKs. Sie können keinen asymmetrischen CMK verwenden, um Daten in Amazon S3 zu verschlüsseln. Informationen zur Feststellung, ob ein CMK symmetrisch oder asymmetrisch ist, finden Sie unter Erkennen symmetrischer und asymmetrischer CMKs.

Sie können einen kundenverwalteten CMK oder den AWS-verwalteten CMK für Amazon S3 in Ihrem Konto auswählen. Wenn Sie sich für eine Verschlüsselung Ihrer Daten entscheiden, führen AWS KMS und Amazon S3 die folgenden Aktionen durch:

  • Amazon S3 fordert einen Klartext-Datenschlüssel und eine mit dem angegebenen CMK verschlüsselte Kopie des Schlüssels an.

  • AWS KMS erstellt einen Datenschlüssel, verschlüsselt diesen Datenschlüssel mithilfe des Masterschlüssels und sendet sowohl den Klartext-Datenschlüssel als auch den verschlüsselten Datenschlüssel an Amazon S3 zurück.

  • Amazon S3 verschlüsselt die Daten mit dem Datenschlüssel und entfernt anschließend den Klartextschlüssel schnellstmöglich aus dem Arbeitsspeicher.

  • Amazon S3 speichert den verschlüsselten Datenschlüssel im Metadatenformat zusammen mit den verschlüsselten Daten.

Wenn Sie eine Entschlüsselung Ihrer Daten anfordern, führen Amazon S3 und AWS KMS die folgenden Aktionen durch:

  • Amazon S3 sendet den verschlüsselten Datenschlüssel an AWS KMS.

  • AWS KMS entschlüsselt den Schlüssel mithilfe des passenden Masterschlüssels und sendet den Klartextschlüssel an Amazon S3 zurück.

  • Amazon S3 entschlüsselt den Chiffretext und entfernt den Klartext-Datenschlüssel schnellstmöglich aus dem Arbeitsspeicher.

Verwenden des Amazon S3-Verschlüsselungs-Clients

Sie können den Amazon S3-Verschlüsselungs-Client aus dem Amazon S3-SDK in Ihrer eigenen Anwendung nutzen, um Objekte zu verschlüsseln und in AWS hochzuladen. So können Sie Ihre Daten lokal verschlüsseln und gewährleisten, dass sie während der Übertragung an den Amazon S3-Service geschützt sind. Der Amazon S3-Service empfängt die verschlüsselten Daten lediglich und spielt keine Rolle bei ihrer Ver- oder Entschlüsselung.

Der Amazon S3-Verschlüsselungs-Client verschlüsselt das Objekt mittels Envelope-Verschlüsselung. Der Client ruft AWS KMS im Rahmen des Verschlüsselungsaufrufs auf, der gesendet wird, wenn Sie die Daten an den Client übergeben. AWS KMS überprüft, ob Sie zur Verwendung des Kundenmasterschlüssels (Customer Master Key, CMK), den Sie angeben, berechtigt sind. Ist das der Fall, gibt der Service einen neuen Klartext-Datenschlüssel sowie den mit dem CMK verschlüsselten Datenschlüssel zurück. Der Amazon S3-Verschlüsselungs-Client verschlüsselt die Daten mithilfe des Klartextschlüssels und löscht diesen Schlüssel anschließend aus dem Arbeitsspeicher. Der verschlüsselte Datenschlüssel wird an Amazon S3 gesendet, wo er gemeinsam mit den verschlüsselten Daten gespeichert wird.

Verschlüsselungskontext

Jeder in AWS KMS integrierte Service gibt einen Verschlüsselungskontext an, wenn Daten angefordert, verschlüsselt und entschlüsselt werden. Der Verschlüsselungskontext enthält zusätzliche authentifizierte Daten (AAD), anhand derer AWS KMS die Datenintegrität überprüft.

Wenn für eine Verschlüsselungsoperation ein Verschlüsselungskontext angegeben wird, gibt Amazon S3 denselben Verschlüsselungskontext auch für die Entschlüsselungsoperation an. Andernfalls schlägt die Entschlüsselung fehlschlägt.

Wenn Sie für die Verschlüsselung SSE-KMS oder den Amazon S3-Verschlüsselungs-Client nutzen, gibt Amazon S3 den Bucket-Pfad als Verschlüsselungskontext an. Der Verschlüsselungskontext im Feld requestParameters einer CloudTrail-Protokolldatei sieht in etwa der folgende aus.

"encryptionContext": { "aws:s3:arn": "arn:aws:s3:::bucket_name/file_name" },