© zffoto/Shutterstock.com
Migration nach AWS – Teil 5

Verschlüsselung für Java-Entwickler


In den vier vorangegangenen Teilen dieser Serie haben wir uns mit der schrittweisen Optimierung einer Anwendung hin zu einer Serverless Architecture beschäftigt. Dieser Teil legt den Fokus auf eine der wichtigsten Sicherheitsmaßnahmen jeder Anwendung: Verschlüsselung von Daten.

Bei Amazon Web Services (AWS) empfehlen wir das Architekturprinzip „Encrypt Everything“. Es war selten so kostengünstig und einfach, eben dieses Prinzip auf hohem Standard zu verwenden, wie nun mit Cloud-Diensten. Dieser Artikel zeigt, wie Daten auf verschiedenen Ebenen verschlüsselt werden können – und welche AWS-Dienste diesbezüglich relevant sind. Dabei arbeiten wir uns von der einfachen One-Click-Lösung vor bis hin zur Verschlüsselung auf Feldebene in einer Datenbank.

Verschlüsselung ist ein wichtiges Werkzeug, das Nutzern der Cloud hohe Sicherheit gibt, den alleinigen Zugriff auf ihre Daten zu kontrollieren. Auch regulatorische und industriespezifische Anforderungen legen nahe, sensible Daten durch eine Anwendung vor unautorisiertem Zugriff oder Veränderung zu schützen.

Im Allgemeinen wird unterschieden zwischen Verschlüsselung at rest (zur Persistierung) und in transit (zur Übertragung). Dieser Artikel konzentriert sich auf die Verschlüsselung persistenter Daten. Sie gilt als zusätzlicher Schutz neben der Berechtigungsvergabe von Aktionen für bestimmte Ressourcen mit Hilfe von AWS Identity and Access Management (IAM) und z. B. Berechtigungen, die bei einer relationalen Datenbank für Benutzer vergeben werden.

Die große Herausforderung bei Verschlüsselung ist, dass wirklich alles richtig gemacht werden muss. Ein kleiner Fehler bei der Wahl des Schlüssels und des Verschlüsselungsverfahrens kann dazu führen, dass der Schutz, der durch Verschlüsselung erreicht werden soll, nicht effektiv ist. Durch eine falsche Handhabung des Schlüssels kann dieser in fremde Hände gelangen oder verloren gehen. Im ersten Fall werden damit möglicherweise Daten offenbart. Im anderen können die Daten nicht mehr entschlüsselt werden und sind für immer nutzlos.

Key Management mit Hardware Security Modules

Bevor wir in die Verwendung von Schlüsseln eintauchen, betrachten wir die Erzeugung und Speicherung von Schlüsseln. Zu diesem Zweck gibt es Hard- und Softwarelösungen, die an Kriterien wie Wartbarkeit, Kosten, Ausfallsicherheit, Skalierbarkeit, Schutz vor Schlüsselextraktion und Manipulation, Integration in andere Lösungen und Auditierbarkeit gemessen werden. Hardware Security Modules (HSM) bieten einen sehr hohen Schutz vor Schlüsselextraktion. Ver- und Entschlüsselung finden in dem Modul statt und werden protokolliert. Erkennt das Modul Anzeichen physischer Manipulation, werden die Schlüssel automatisch vernichtet. Viele Kunden entscheiden sich wegen des hohen Schutzniveaus bei der Verwaltung des Schlüsselmaterials im selbstverwalteten Rechenzentrum für eine derartige Lösung und erwarten eine solche auch in der Cloud.

Schlüsselverwaltung im AWS Key Management Service

In AWS können Kunden Schlüssel durch den AWS Key Management Service (KMS) verwalten. Sie legen darin sogenannte Customer Master Keys (CMK) an (Kasten: „Arten von Customer Master Keys“). Ein CMK enthält Metadaten, die Verbindung zu dem IAM-System sowie sogenannte HSM Backing Keys (HBK). Die HBKs sind das Schlüsselmaterial, mit dem KMS effektiv operiert und mit dem Inhalte durch KMS ver- und entschlüsselt werden. AWS übernimmt die Skalierung und Wartung der an das KMS Frontend angeschlossenen HSMs. KMS bietet üb...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang