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:

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  

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)

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)

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: 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. - by Sven Ramuschkat

Serverless Blog Migration

Heute haben wir den aws-blog.de auf serverless migriert. Dabei haben wir Geschwindigkeit und Stabilität gewonnen! - by Gernot Glawe

Technische Details & Hintergründe zu den S3 Problemen am 28.2.2016 in Virginia

“At 9:37AM PST, an authorized S3 team member using an established playbook executed a command which was intended to remove a small number of servers for one of the S3 subsystems that is used by the S3 billing process. Unfortunately, one of the inputs to the command was entered incorrectly and a larger set of servers was removed than intended. The servers that were inadvertently removed supported two other S3 subsystems. - by Sven Ramuschkat