Clientseitige vs. serverseitige Kryptographie – wer hat den Schlüssel?

Autor / Redakteur: Linus Chang * / Sebastian Gerstl

Die Datenpannen und Cyberattacken der vergangenen Jahre haben gezeigt, dass eine vernünftig implementierte Security-Strategie so wichtig ist wie nie zuvor. Doch nicht nur die gewählte Art der Verschlüsselung ist hier wichtig: Wo sich der Schlüssel zur gewählten Methode befindet ist mindestens ebenso entscheidend.

Anbieter zum Thema

Clientseitige oder Serverseitige Verschlüsselung - was ist besser? In welchen Händen sich der Schlüssel zur gewählten Kryptographie befindet, kann den entscheidenden Unterschied hinsichtlich maximaler Security ausmachen.
Clientseitige oder Serverseitige Verschlüsselung - was ist besser? In welchen Händen sich der Schlüssel zur gewählten Kryptographie befindet, kann den entscheidenden Unterschied hinsichtlich maximaler Security ausmachen.
(Bild: Clipdealer)

Kaum eine Woche vergeht, in der nicht über eine neue Datenpanne berichtet wird. Für Unternehmen ist es höchste Zeit, sich mit Mitigationsstrategien auseinanderzusetzen. Die Verschlüsselung von Daten ist eine solche Strategie, doch wenn sie nicht optimal implementiert wird, gewährleistet sie nicht zwangsläufig ein hohes Maß an Security. Dieser Beitrag will mit einigen weit verbreiteten Missverständnissen hinsichtlich des immer wieder diskutierten Themas Kryptographie aufräumen.

Für ein besseres Verständnis von Verschlüsselung sollte man zunächst einen Blick auf die Sicherheit von Daten werfen, wenn diese sich in einer Übertragung oder aber im Ruhezustand befinden. Daten sind während der Übertragung generell geschützt, wenn TLS verwendet wird (wie z.B. bei https). Hier vereinbaren die Maschinen untereinander einen geheimen Schlüssel; für jede Übertragung wird ein spezieller Einwegschlüssel verwendet. Der Schlüssel wird von keiner Person aufbewahrt; so sind die Daten gut geschützt.

Bildergalerie

Die langfristige Datenspeicherung (Daten im Ruhezustand) erfordert jedoch eine andere Art der Verschlüsselung, bei der ein geheimer Schlüssel vonnöten ist, um die Daten zu entschlüsseln. Bei der langfristigen Datenspeicherung wird häufig Verschlüsselung eingesetzt, doch in vielen Fällen keine optimale Datensicherheit erzielt.

Unterschiedliche Verschlüsselungsmethoden

Die Verschlüsselung soll verhindern, dass sich ein unerlaubter Systemzugriff zu einer Datenpanne auswächst. Im Falle von unbefugten Zugriffen auf Privileged-Access-Ebene oder unbeabsichtigten Fehlkonfigurationen bietet sie zusätzlichen Schutz.

Bei näherer Betrachtung der Verschlüsselungsmethoden wird deutlich, warum manche mehr Datensicherheit bieten als andere.

  • Clientseitige Verschlüsselung: Der Anwender verschlüsselt seine Daten mit einem eigenen Schlüssel.
  • Serverseitige Verschlüsselung mit Schlüssel auf dem Server: Der Anwender übergibt die Daten unverschlüsselt an den Cloud-Provider, der die Daten dann seinerseits verschlüsselt. Der Anwender kennt bzw. besitzt zu keiner Zeit den Schlüssel.
  • Serverseitige Verschlüsselung mit Schlüssel auf dem Client: Der Anwender behält seinen Schlüssel, doch der Server ver- und entschlüsselt die Daten in seinem Auftrag.

Je nach Verschlüsselungsmethode wird also ein unterschiedliches Maß an Security erzielt (siehe Bild 1).

Kenne deinen Feind

Beim Entwurf sicherheitskritischer Systeme ist es unerlässlich, dass man seinen Feind kennt. Die Verschlüsselung schützt Daten vor drei verschiedenen Angreifertypen:

  • 2. Cloud-Provider (Second Party)
  • 3. Hacker/Cyberkriminelle (Third Party)

Bei der Implementierung mehrerer Security-Schichten sollte jede Security-Schwelle möglichst hoch angesetzt werden, um die Gefahr von Datenlecks zu minimieren. Die meisten Kryptographie- und Security-Spezialisten bevorzugen die clientseitige Verschlüsselung, denn hier gibt es weniger Parteien, über die ein Angriff oder eine Sicherheitsverletzung erfolgen könnte. Nur die clientseitige Verschlüsselung bietet vollen Schutz gegen Zweit- und Drittparteien.

In manchen Fällen wird die serverseitige Verschlüsselung bevorzugt; dabei sind die Schlüssel auf dem Server gespeichert, so dass während des gesamten Entwicklungsprozesses keine Änderungen erforderlich sind. Die clientseitige Verschlüsselung war zudem bislang relativ schwierig zu implementieren und verwalten. Dies ist inzwischen nicht mehr der Fall, hat aber zu einer gewissen Scheu vor dieser Methode geführt.

Serverseitige Verschlüsselung bietet jedoch kaum Schutz vor Drittparteien, und Fehlkonfigurationen auf der Zugriffsebene können dazu führen, dass sie völlig wirkungslos ist. Dies hat sich erst kürzlich gezeigt, als über die Firma Deep Root Analytics und zwei weitere Subunternehmer des Republican National Committee (RNC) die Daten von fast 200 Millionen registrierten US-Wählern öffentlich zugänglich gemacht wurden - aufgrund eines Fehlers bei der Zugriffskontrolle.

Kompromiss zwischen Kosten und Nutzen

Wie wird in der Regel vorgegangen? Die meisten Anwender implementieren entweder gar keine Security-Maßnahmen (Level 0) – das kostet nichts und bietet natürlich keinen Schutz. Oder man greift auf serverseitige Verschlüsselung zurück (Level 1 und 2), da sie sich einfach und bequem umsetzen lässt (siehe Bild 2). Forschungsergebnisse belegen dies: 96% der Daten, die einer Sicherheitsverletzung zum Opfer fielen, waren nicht verschlüsselt. In Unternehmen liegen demnach wertvolle Daten ungeschützt vor der Manipulation durch Cyberkriminelle herum.

Security Level 2 ist dagegen ein guter Kompromiss bei Embedded-Geräten, die über langlebige Batterien betrieben werden. Hier ist es eher nicht von Vorteil, Daten auf dem Gerät zu verschlüsseln, weil dies die Batterieladung bzw. CPU-Geschwindigkeit beeinträchtigt. Serverseitige Verschlüsselung wäre hier die bessere Möglichkeit - und in jedem Fall besser als gar keine.

Security Level 3, die clientseitige Verschlüsselung, ist die beste Wahl bei leistungsstärkeren Geräten. ScramFS beispielsweise ist eine neue Verschlüsselungsmethode, die Entwicklern eine Bibliothek zur Verfügung stellt, mit denen sie Daten einfach verschlüsseln können, ohne ein Kryptoprogramm schreiben zu müssen. Es läuft auf einem Raspberry Pi und verschlüsselt HD-Videodaten in Echtzeit. Zudem bietet es Authentifizierung (Manipulationserkennung) für jede Datei, die über seine API gesichert wurde.

Welche Rolle spielt die Verschlüsselung im Kontext der DSGVO?

Die clientseitige Verschlüsselung ist die sicherste Methode, bestimmte Anforderungen der neuen EU-Datenschutzverordnung (DSGVO) zu erfüllen.

Nach Kapitel 1, Artikel 4, bedeutet z.B. Pseudonymisierung die Verarbeitung personenbezogener Daten in einer Weise, dass die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.

Die Verschlüsselung ist eine Form der Pseudonymisierung; der Schlüssel steht dabei für „zusätzliche Informationen“. „Gesondert aufbewahrt“ ist nicht ganz eindeutig, doch ist die Absicht dahinter ist ausschlaggebend: Wird der Schlüssel zusammen mit den Daten aufbewahrt, wird bei einer Sicherheitsverletzung, bei der verschlüsselte Daten öffentlich zugänglich gemacht werden, auch der zugehörige Schlüssel offengelegt (siehe Bild 3).

Beispiel aus der Realität: Durch eine Phishing-Attacke werden die Cloudspeicher-Zugangsdaten eines Unternehmens kompromittiert und die Firmendaten öffentlich zugänglich. Wenn der Schlüssel auf dem Cloudserver liegt, kann dieser die Daten entschlüsseln und dem Angreifer zur Verfügung stellen. Wenn die Verschlüsselung so effizient wie möglich sein soll, darf der Server kein Wissen über den Schlüssel haben; dies lässt sich nur mit clientseitiger Verschlüsselung umsetzen.

Clientseitige Verschlüsselung = optimierte Datensicherheit

Dr. Ron Steinfeld, ein führender Post-Quanten-Kryptograph (Monash University, Australien), empfiehlt die clientseitige Verschlüsselung: "Denn bei der serverseitigen Verschlüsselung müssen die Anwenderdaten und der entsprechende Schlüssel an den Server kommuniziert werden, damit dieser die Daten verschlüsseln kann," erläutert er. "Auch wenn sensible Daten nach der Verschlüsselung vollständig vom Server gelöscht werden, sind sie dennoch zu bestimmten Zeiten dort gespeichert (z.B. bei einer Server-Sicherheitsverletzung oder absichtlichem Datenmissbrauch durch den Server)." Das macht sie potentiell abgreifbar.

Ferner führt Dr. Steinfeld aus: "Zudem könnte eine Server-Sicherheitsverletzung zu jeder anderen Zeit einen verborgenen Serverprozess anstoßen, der darauf wartet, dass der Server Anwenderdaten ver- oder entschlüsselt. Dann übergibt er den Speicherinhalt des Servers dem Angreifer und stellt ihm damit auch die Anwenderdaten und/oder Schlüssel zur Verfügung. Somit spielt bei der serverseitigen Verschlüsselung immer noch die Vertrauenswürdigkeit des Servers eine wichtige Rolle. Beim Einsatz clientseitiger Verschlüsselung kennt der Server dagegen zu keiner Zeit die Anwenderdaten und den Schlüssel, sondern lediglich die verschlüsselten Daten.“

Übersetzung: Sabine Pagler

* Linus Chang ist CEO bei Scram Software und Anbieter des kryptografischen Dateisystems ScramFS.

(ID:45340028)