Sie haben Famedly Blog erfolgreich abonniert.
Toll! Schlie├čen Sie als N├Ąchstes die Pr├╝fung ab, um vollen Zugriff auf Famedly Blog zu erhalten.
Willkommen zur├╝ck! Sie haben sich erfolgreich angemeldet.
Erfolg! Ihr Konto ist vollst├Ąndig aktiviert, Sie haben nun Zugriff auf alle Inhalte.
Erfolg! Ihre Zahlungsinformationen wurden aktualisiert.
Aktualisierung der Rechnungsinformationen fehlgeschlagen.
Checkliste: sicheres Messaging

Checkliste: sicheres Messaging

Warum soll eine bestimmte Software sicherer sein als eine andere? Kann man das ├╝berhaupt wissen? Wir zeigen Kriterien, mit denen man das ├╝berpr├╝fen kann.

Christian Pauly
Christian Pauly

Was bedeutet "sicher"?

Wenn wir einen sicheren Messenger ben├Âtigen, suchen wir h├Ąufig eine L├Âsung f├╝r die Kommunikation mit unseren Freunden und unserer Familie. Meistens entscheiden wir uns f├╝r Apps, die bereits von allen genutzt werden. Ob wir den Betreibern dieser Apps vertrauen k├Ânnen, oder ob Apps von anderen Betreibern vielleicht vertrauensw├╝rdiger sind, k├Ânnen wir nicht validieren und m├╝ssen Experten vertrauen. ­čĄô

Damit jeder - unabh├Ąngig ob Privatperson oder als Gesundheitseinrichtung - die M├Âglichkeit erh├Ąlt, die Sicherheit und Vertrauensw├╝rdigkeit eines Messengers zu ├╝berpr├╝fen, m├Âchten wir einige Kriterien erkl├Ąren.

Das machen wir mit dem Elefanten im Raum: WhatsApp!

Mit dem im Deutschland am weitesten verbreiteten Messenger als Beispiel schauen wir uns die Kriterien im Detail an. Leider dient WhatsApp uns f├╝r (fast) alle Kriterien als Negativ-Beispiel. ­čśą

Welche Kriterien besonders wichtig sind, dar├╝ber l├Ąsst sich nat├╝rlich streiten. Wir beginnen mit dem f├╝r uns Entwickler*innen wichtigsten Kriterium. Es stellt die Basis dar, auf der alle anderen Kriterien aufbauen.

Open Source

Um eine App zu entwickeln, schreiben Entwickler*innen Programmcode und dieser wird von Computern in lauff├Ąhige Programme verarbeitet. Das kann man vergleichen mit Kuchen backen. Der Teig wird aus Zutaten gemischt und der Backofen verarbeitet diese zu einem leckeren Kuchen.

In der Regel halten Entwickler*innen diesen Quellcode geheim aus einem von zwei Gr├╝nden geheim:

  • Entweder haben sie Angst vor Wettbewerbern, die den Code einfach kopieren k├Ânnen. (dazu sp├Ąter mehr)
  • Oder sie wollen versteckte (vom Nutzer ungewollte) Funktionen verheimlichen.

Dabei ist das Verheimlichen von Funktionen eine gro├če Gefahr, denn solange niemand den Quellcode einsehen kann, wei├č niemand was eigentlich genau passiert. Um dies mit dem Kuchen zu vergleichen. Wenn Sie eine Nussallergie haben, w├╝rden Sie dann einen Kuchen essen, von dem Sie nicht wissen was drin ist? ­čąž

Aus diesem Grund ist es essentiell, dass sicherheitsrelevante Software Open Source ist. Nur so k├Ânnen Experten versteckte Hintert├╝ren in Verschl├╝sselungen finden, oder feststellen, ob die Verschl├╝sselung ├╝berhaupt vorhanden ist.

WhatsApp hat eine Ende-zu-Ende-Verschl├╝sselung, aber ist die auch wasserdicht? Da m├╝ssen wir wohl auf Facebook vertrauen. Zum Gl├╝ck ist der Konzern f├╝r seinen herausragenden Datenschutz bekannt...

via GIPHY

Transportverschl├╝sselung

Jede App, die auf irgendeine Art und Weise mit dem Internet kommuniziert, muss eine sogenannte Transportverschl├╝sselung besitzen. Das bedeutet, dass der Kommunikationsweg von der App zu einem Server hin, verschl├╝sselt stattfindet.

Eine Transportverschl├╝sselung kann man sich wie eine Rohrpost vorstellen mit nur einem Ein- und Ausgang. Schickt man Post an der einen Seite rein, kommt diese auf der anderen Seite raus. Auf dem Transport ist sie also gesch├╝tzt.

Messenger, die diese grundlegende Sicherheit nicht bieten, scheint es kaum noch zu geben. Selbst unser Beispiel WhatsApp hat das wohl hingekriegt! Traurige Ausnahme ist hier der Blackberry-Messenger, der bis mindestens 2014 alle Nachrichten v├Âllig unverschl├╝sselt ├╝bertrug. ­čĄŽÔÇŹÔÖÇ´ŞĆ

Ende-zu-Ende-Verschl├╝sselung

Was bedeutet das eigentlich? Und wozu braucht man das ├╝berhaupt, wenn doch jede App eine Transportverschl├╝sselung hat? ­čĄö

Die Transportverschl├╝sselung schematisch dargestellt.

Um die Notwendigkeit zu erkl├Ąren, m├╝ssen wir uns kurz den Weg anschauen, den eine Nachricht von Annas Smartphone zu Bobs Smartphone nimmt. Zun├Ąchst wird Annas Nachricht an einen Server weitergeleitet und auf dem Weg dorthin ist diese Nachricht durch die Transportverschl├╝sselung gesch├╝tzt. Auf dem Server wird die Nachricht jedoch entschl├╝sselt und zwischengespeichert, bevor sie an Bobs Smartphone weitergesendet wird. Das ist notwendig, da Bobs Smartphone vielleicht gerade kein Internet hat und so der Server warten muss, bis Bobs Smartphone wieder online ist. Verglichen mit der Rohrpost, w├╝rde die Nachricht an eine zentrale Verteilstelle gehen und diese w├╝rde die Nachricht kurz aufbewahren und lesen k├Ânnen, was in der Post steht. ­čĽÁ´ŞĆÔÇŹÔÖé´ŞĆ

Es wird also eine Verschl├╝sselung ben├Âtigt, welche zus├Ątzlich zu einer Transportverschl├╝sselung sicherstellt, dass die Nachricht auf dem Transportweg nicht von Zwischenstellen innerhalb des Transportweges gelesen werden kann. Diese Verschl├╝sselung nennt man Ende-zu-Ende-Verschl├╝sselung, da nur die jeweiligen Enden des Transports die Nachricht entschl├╝sseln k├Ânnen.

Die Ende-zu-Ende-Verschl├╝sselung schematisch dargestellt.

Diese Form der Verschl├╝sselung ist f├╝r Entwickler*innen sehr komplex, insbesondere in Chatgruppen bei denen es mehrere Teilnehmer gibt und diese auch wechseln k├Ânnen. Wir haben mittlerweile sehr h├Ąufig L├Âsungen auf dem Markt gesehen, die eine Transportverschl├╝sselung f├Ąlschlicherweise als Ende-zu-Ende-Verschl├╝sselung verkaufen wollen. Bitte erkennen Sie den Unterschied und fragen Sie dort genau nach! Wenn Sie mit Patientendaten arbeiten, m├╝ssen diese unbedingt gesch├╝tzt werden! ­čöÉ

Sie erinnern sich an den Open Source Gedanken? WhatsApp behauptet, dass es eine Ende-zu-Ende-Verschl├╝sselung verwendet und blendet diese Information auch deutlich f├╝r alle Nutzer ein. Nachpr├╝fen kann man das nicht, weil der Code nicht offen gelegt ist. Ist ja auch logisch, werden Sie vielleicht denken. Wir werden auf jeden Fall h├Ąufig Folgendes gefragt:

"Macht ein quelloffenes Programm diese Verschl├╝sselung nicht wieder unsicher, weil jeder lesen kann, wie sie funktioniert?"

Ganz im Gegenteil!

Im zweiten Weltkrieg haben die Deutschen ihren Nachrichtenverkehr mit einer speziellen Maschine verschl├╝sselt und entschl├╝sselt. Daf├╝r mussten nat├╝rlich ├╝berall diese Enigma genannten Maschinen verteilt werden. Nat├╝rlich hat der britische Geheimdienst es geschafft ┬áso eine Enigma in die Finger zu bekommen. Doch stellten sie schnell fest, dass die Maschine allein nicht in der Lage war, die Nachrichten zu entschl├╝sseln. Daf├╝r war der sogenannte kryptographische Schl├╝ssel notwendig - fast unm├Âglich zu knacken und selbst wenn, dann wurde dieser t├Ąglich ge├Ąndert.

Man spricht hier von KerckhoffsÔÇÖ Prinzip:

Das KerckhoffsÔÇÖsche Prinzip oder KerckhoffsÔÇÖ Maxime ist ein im Jahr 1883
von Auguste Kerckhoffs formulierter Grundsatz der modernen Kryptographie, welcher besagt, dass die Sicherheit eines (symmetrischen) Verschl├╝sselungsverfahrens auf der Geheimhaltung des Schl├╝ssels beruht
anstatt auf der Geheimhaltung des Verschl├╝sselungsalgorithmus. Dem KerckhoffsÔÇÖschen Prinzip wird oft die sogenannte Security through obscurity gegen├╝bergestellt: Sicherheit durch Geheimhaltung des Verschl├╝sselungsalgorithmus selbst, m├Âglicherweise zus├Ątzlich zur Geheimhaltung des bzw. der verwendeten Schl├╝ssel.

Dezentralit├Ąt

Gut, wir haben einen quelloffenen Messenger mit Transportverschl├╝sselung und richtiger Ende-zu-Ende-Verschl├╝sselung. Sind wir jetzt nicht sicher vor jedweder ├ťberwachung und Spionage?

Leider nein ­čśę

Wir gehen davon aus, dass der Betreiber die Software auf einem zentralen Server laufen hat. Er hat die Software frei verf├╝gbar gemacht hat und der Nachrichteninhalt kann nicht mehr gelesen werden. Neben Nachrichteninhalten gibt es aber weitere Informationen, sogenannte Metadaten, also wer wem wann eine Nachricht schreibt. Aus diesen Informationen lassen sich mit statistischen Methoden viel mehr Informationen herauslesen als man denkt. Betrachten wir ein anschauliches Beispiel:

Wenn man mitbekommt, dass die eigene Ehefrau jeden Tag 200 verschl├╝sselte Nachrichten mit ihrem extrem attraktiven Fitnesstrainer austauscht, nachts um 2 Uhr, wenn man selbst schnarchend im zu kleinen Pyjama neben ihr liegt, dann macht man sich wahrscheinlich nicht mehr die M├╝he, an den Verschl├╝sselungsschl├╝ssel zu kommen. ­čśÉ

Au├čerdem hat der Betreiber eines Servers neben den Metadaten auch immer die Macht:

  • Benutzer*innen nach Belieben zu sperren
  • Nachrichten zu manipulieren
  • Mit Man-in-the-middle-Attacken Kommunikationen zu kompromittieren (vielleicht machen wir auch mal einen Blogbeitrag dazu, was das ist)
  • Passw├Ârter zu ├Ąndern
  • Kommunikation g├Ąnzlich zu unterbinden

Hier ist also ein gro├čes Vertrauen gegen├╝ber dem Server-Betreiber notwendig. Vor allem im medizinischen Umfeld sollte man Server-Betreibern jedoch nicht vertrauen, sondern nur den Versorgern mit denen man Kontakt hat. ­čĺĽ

Aus diesem Grund stellt Famedly eine dezentrale Kollaborationsplattform f├╝r Gesundheitsversorger bereit. Versorger werden Betreiber eigener dezentraler Server und haben zu jedem Zeitpunkt die absolute Datenhoheit. Selbst Patienten k├Ânnen f├╝r die Kommunikation mit Versorgern eigene Server installieren und ben├Âtigen keinen Account auf einer propriet├Ąren Plattform (Gegenteil von Open Source). Wir nutzen f├╝r diesen Datenaustausch das dezentrale Protokoll Matrix, das ├╝brigens auch von der franz├Âsischen Regierung und der deutschen Bundeswehr eingesetzt wird. Die Kommunikation ist Transport- und Ende-zu-Ende-verschl├╝sselt, die Datenhoheit liegt bei den beteiligten Personen und durch die Open-Source Lizenz sorgen wir f├╝r maximale Transparenz bei unseren Sicherheitsfunktionen.