Verschlüsselung von Daten auf AWS S3

Datenverschlüsselung auf AWS S3  symmkryptDas Thema Datensicherheit und damit auch Verschlüsselung ist bei unseren deutschen Amazon Web Services Kunden eigentlich ein Dauerthema. Amazon AWS trägt diesem Bedürfnis zunehmend mehr Rechnung und hat gerade gestern wieder eine entsprechende Erweiterung der S3 Dienste veröffentlicht. Hier nun eine Übersicht, über die von Amazon Web Services angebotenen Verschlüsselungsoptionen für Ihre Daten auf S3:

Transparente Verschlüsselung auf Basis von Amazon AWS gemanagten Keys (bereits seit 11.2011 verfügbar):


  • pro Datei (Objekt) auf S3 können Sie unter Properties / Details die Server Side Encryption mit AES256 manuell aktivieren.
  • Wenn man Dateien über das API hoch lädt, kann man das natürlich am besten dort aktivieren.
  • Die Datei wird mit einem Amazon AWS eigenen Key verschlüsselt und dann auf entsprechenden Storagesystemen gespeichert.
  • Beim Abruf der Datei von S3 ist die Entschlüsselung komplett transparent, die Datei wird von den Storagesystemen gelesen, entschlüsselt und ausgeliefert.
  • Somit sind Daten verschlüsselt gespeichert, aber Amazon Web Service ist technisch in der Lage, auf die Daten zuzugreifen, wenn AWS z.B. von Regierungsbehörden dazu aufgefordert wird.

Server-seitige Verschlüsselung auf AWS mit AES256 “Datensicherheit: Server-seitige Verschlüsselung auf AWS mit AES256 (Server Side Encryption)”)  

Transparente Verschlüsselung auf Basis von eigenen Keys (seit dem 12.6.2014 verfügbar):


  • dieses neue Feature ist nur über das S3 API verfügbar.
  • beim Upload der Datei (PUT) übergeben Sie Ihren eigenen Encryption Key. Mit diesem wird die Datei auf S3 verschlüsselt gespeichert. Zusätzlich wird ein one-way hash (checksum) des Keys generiert und anschließend wird der von ihnen übergebene Encryption Key bei Amazon AWS wieder gelöscht.
  • Beim Abruf der Daten von S3 übergeben Sie ihren eigenen Key als Parameter beim GET-Aufruf. S3 entschlüsselt damit die Datei und liefert diese aus.
  • Somit sind ihre Daten verschlüsselt gespeichert. Amazon Web Service kann nur mit einem grösseren technischen Aufwand auf Ihre Daten zugreifen (AWS muss dazu nämlich ihren Key abfangen und für die Entschlüsselung nutzen). Ob AWS das tun kann und wird, wenn AWS von  Regierungsbehörden dazu aufgefordert wird, ist nicht bekannt.

Datenverschlüsselung auf AWS S3 mit eigenem Key (sse_customer_key) “Datenverschlüsselung auf AWS S3 mit eigenem Key (sse_customer_key)”)

Client-seitige Verschlüsselung durch Klassen im Java AWS  SDK (seit April 2011 verfügbar):

  • Dieses Feature ist nur unter Verwendung des AWS Java SDKs verfügbar. (die PHP, .NET, etc. SDKs habe ich nicht geprüft).
  • Das AWS Java SDK stellt entsprechende Methoden in der Klasse AmazonS3EncryptionClient bereit, die eine Datei komplett Client-seitig verschlüsselt und dann erst nach AWS S3 hoch lädt.
  • Dadurch bleibt der Key komplett bei Ihnen lokal.
  • Dateien die von S3 heruntergeladen werden, müssen dann auch wieder entsprechend Client-seitig entschlüsselt werden.
  • Da in diesem Fall der Encryption Key bei Amazon Web Services nicht bekannt ist, hat AWS auch nach Aufforderung von entsprechenden Regierungsbehörden keine Möglichkeit, die Daten zu entschlüsseln, es sei denn, man wendet entsprechend zeitaufwändige Algorithmen an, das ist aber ein anderes Thema …

Datensicherheit in der AWS Cloud: Client-seitige Verschlüsselung  (S3-aws_java_sdk_encryption) “Datensicherheit in der AWS Cloud: Client-seitige Verschlüsselung (S3-aws_java_sdk_encryption)”)

Similar Posts You Might Enjoy

Verschlüsselung von Daten auf AWS S3

Das Thema Datensicherheit und damit auch Verschlüsselung ist bei unseren deutschen Amazon Web Services Kunden eigentlich ein Dauerthema. Amazon AWS trägt diesem Bedürfnis zunehmend mehr Rechnung und hat gerade gestern wieder eine entsprechende Erweiterung der S3 Dienste veröffentlicht. Hier nun eine Übersicht, über die von Amazon Web Services angebotenen Verschlüsselungsoptionen für Ihre Daten auf S3: - by tecRacer

AWS Client VPN - Access your Virtual Private Cloud

One of the most unknown options to access a VPC is Client VPN. Nearly all customers I am talking to are using a Bastion Host or similar to access services within their VPC. But what about direct access without any jumps in between? After reading this blog, you can create your own Client VPN. - by Patrick Schaumburg

Using AWS Security Hub for EKS Security

kube-bench is a tool for checking kubernetes clusters against requirements defined in the CIS Benchmark. The tool runs locally on a kubernetes node, performs its checks and prompts the outputs to the shell or to files. This is quite unhandy, because it means that a user needs to pick up the logs, store them somewhere and analyze them. A deployment of the tool via kubernetes can ease the process for example with the kubectl logs command, but it is still far from perfect. Luckily, there is an integration in AWS Security Hub. - by Benjamin Wagner