Kategorien
Konferenzsysteme Messenger Security Wunschthema

Gruppenchats anschaulich erklärt. #VirtualApero in der #Matrix

Gruppenchats werden ziemlich häufig genutzt. Es gibt den Familienchat, den Bürochat, den Firmenchat, den Kindergartenchat, den Schulchat der SchülerInnen (und den der Eltern), den Baustellenchat, den Projektchat, den Partychat, den Strandchat und viele, viele andere Chatgruppen. Inwieweit diese Gruppenkommunikation für die TeilnehmerInnen inhaltlich hilfreich ist oder ob sie die Lage eher verkompliziert, sei zunächst mal offen.

Die Entwicklung einer Gruppe umfasst die Verteilung der Rollen, die Bestimmung der Ziele und Aufgaben, die Bildung der Normen und Regeln, die Gestaltung der Kultur, die Verteilung von Macht, die Aufnahme neuer Mitglieder, der Umgang mit Dritten und anderen Gruppen. Jedes Handeln (aktiv und unterlassend) in der Gruppe gehört zum Prozess und ist dynamisch.

https://de.wikipedia.org/wiki/Gruppendynamik

Vor diesem Hintergrund will ich heute der Frage nachgehen, ob es technisch möglich und sinnvoll ist, Gruppenchats so zu konstruieren, dass sie Ende zu Ende verschlüsselt sind.

In der letzten Woche habe ich euch in die Matrix eingeladen (WhatsApp, Threema, Signal? Komm in die Matrix! Jetzt!). Viele sind der Einladung nachgekommen und haben nun Fragen.

Es ist allerdings gar nicht so einfach, diese Fragen anschaulich mit Screenshots zu beantworten und die Prozesse neutral zu beschreiben, da ja immer reale Personen damit zu tun haben. Daher folgt heute Teil 2 der Messenger Odyssee am Beispiel des Gruppenchats des Virtual Apéros.

Hintergrund Virtual Apéro

Der Virtual Apèro ist eine Veranstaltung, die Dienstags um 19:00 stattfindet. Wir treffen uns in einem Jitsi-Raum im virtuellen Konferenzzentrum, das von Novatrend kostenlos zur Verfügung gestellt wird (Videokonferenzen auf meet.novatrend.ch). Da in der Jitsi Installation seitens Novatrend nichts geloggt wird, wollte ich ganz praktisch wissen, ob alles funktioniert. Aus dem Test ist eine regelmässige Veranstaltung geworden und wir treffen uns bald zum 50sten mal. Mehr Info gibt es in diesem Blog Post: Virtueller Apéro, Dienstag 19:00 Uhr. Du bist herzlich eingeladen.

Hintergrund Jitsi Videokonferenzen

Emil Ivov startete 2003 das Jitsi Projekt (früher SIP Communicator). Jitsi ist eine Audio-, Video- und Text-Chat Anwendung, die Protokolle wie SIP, XMPP/Jabber, AIM/ICQ, Windows Live, Yahoo! und Bonjour unterstützt. Jitsi ist Freie Open Source Software. Bei der Anwendung Jitsi-Meet, die auch Novatrend benutzt, geht es in erster Linie um Audio und Video-Kommunikation. Emil unterrichtete von 2007 – 2015 Echtzeit-Kommunikation an der Universität Straßburg. Er ist nach wie vor Projektleiter des Jitsi Projekts.

Jeder Jitsi-Meet Raum hat einen eingebauten Gruppenchat. Dieser Chat nutzt das XMPP Protokoll und benutzt als Server Prosody.

Im Gegensatz zu anderen Systemen werden in Jitsi keine Räume vorher definiert und konfiguriert. Sie sind einfach da! Es gibt keinerlei Registrierungspflicht und keinen Konfigurationsaufwand. Wenn du jetzt sofort einen individuellen Video-Chat führen willst, der unter deinem Namen läuft, kannst du das tun – Tippe einfach im Browser https://meet.novatrend.ch/[dein Name] ein und dein Raum ist einsatzbereit. In diesem Raum steht auch automatisch ein Gruppenchat zur Verfügung, den der bereits erwähnte Prosody Server bereit stellt. Je nach Konfiguration des Jitsi-Servers gibt es weitere Features wie beispielsweise die Einbindung des kollaborativen Editors Etherpad. Damit können die Personen im Gruppenchat gemeinsam Textdokumente bearbeiten.

Hinweis: Die Lizenz von Jitsi-Meet erlaubt es, das System auch in kommerzielle Services einzubetten und so entstehen gerade viele Services, die rund um Jitsi Konferenzsysteme bauen und zusätzliche Features bereit stellen. In diesem Zusammenhang noch eine gute Übersicht über Videokonferenz Software – Videokonferenzen müssen keine Datenschleudern sein

Die Folge dieser offenen Gestaltung ist, dass Räume nur solange existieren, wie sich Personen darin befinden. Auch Gruppenchats und weitere Features existieren prinzipiell nur solange, bis der letzte den Gruppenraum verlässt. Das ist charmant, logisch, datensparsam und beinhaltet eine gewisse Vergänglichkeit.

Situation der Gruppe

Bei der Virtual Apéro Gruppe, die sich ja regelmässig trifft, kam diese Vergänglichkeit allerdings nicht so gut an, da der Gruppenchat immer wieder gelöscht wurde und man sich „aus den Augen verlor“. Wir nutzten zunächst einen Gruppenchat auf Telegram, verlegten die Diskussionen zwischen den Virtuellen Apéros aber zum grössten Teil auf Twitter. Twitter bietet auch ein Gruppenchat Feature an, allerdings nur für Gruppen, die kleiner als 20 Personen sind.

Da wir mittlerweile mehr als 20 Personen sind, kam das auf Dauer auch nicht in Frage. Bis zu diesem Zeitpunkt erging es uns so, wie vermutlich vielen Gruppen, die dann mehr aus Verzweiflung als aus Überzeugung bei WhatsApp landen, weil das der kleinste gemeinsame Nenner ist und „alle“ Anderen WhatsApp nutzen (2 Milliarden Nutzer weltweit). Die Grafik der täglichen Nutzer in Deutschland ist aus November 2019, zeigt allerdings gut die Verhältnisse, die in den meisten Ländern etwa auch so aussehen.

Sicherheit?

WhatsApp kam in den letzten Wochen ins Gerede wegen einer bevorstehenden Änderung der Geschäftsbedingungen und der Tatsache, dass die Kommunikationsdaten weiter Teile der menschlichen Kommunikation in der Verantwortung einer privaten Firma liegen (Facebook). Das ist prinzipiell nicht ungewöhnlich, man denke nur an Telekommunikationsunternehmen wie Vodafone oder die Deutsche Telekom. Die weltweite Dominanz von Facebook bei gleichzeitiger Abwesenheit nationaler Regulierungen gibt einem allerdings schon zu denken.

Aber um mal die Hauptsachen, die uns wichtig sind, pragmatisch herunter zu brechen: Wenn man sich in einer Gruppe online unterhält, so sollten alle Personen, die der Gruppe angehören

  1. alle Nachrichten sehen
  2. alle Veränderungen der Einstellungen des Gruppenraumes sehen
  3. den Zugang neuer Personen sehen
  4. das Verlassen einer Person aus der Gruppe sehen

Und alle Personen, die nicht zur Gruppe gehören – die geht das alles nichts an.
Schön wäre es, wenn die komplette Kommunikation auch noch verschlüsselt und damit abhörsicher wäre und damit stellte sich die Frage: Geht das überhaupt?

Ende zu Ende Verschlüsselung

Eine Ende zu Ende Verschlüsselung kann man sich wie ein Band oder Kabel zwischen zwei Personen vorstellen. Nur die Personen, die die jeweiligen Endpunkte der Kommunikation darstellen, können die Nachricht entschlüsseln. Für alle anderen auf dem Transportweg muss der Inhalt verborgen bleiben.

Symmetrische Verschlüsselung

Bei zwei Kommunikationspartnern ist das noch relativ leicht zu organisieren. Beide benutzen den gleichen Schlüssel (oder Kennwort) und können so verschlüsselt verschickte Nachricht lesen. Personen, die das Kennwort nicht kennen, können die Nachricht nicht lesen. Die Variante heisst symmetrische Verschlüsselung.

Symmetrische Kryptosystem – https://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem

Dieses einfache Verfahren ist leider nicht geeignet für Gruppenchats, denn jede Person in der Gruppe müsste ja nun den geheimen Schlüssel kennen. Die Gefahr, dass der Schlüssel ausserhalb der Gruppe bekannt würde, wäre hoch.

Asymetrische Verschlüsselung

Bei dieser Variante haben die Personen keinen gemeinsamen Schlüssel. Es gibt einen öffentlichen und einen privaten Schlüssel.

Jeder Benutzer erzeugt sein eigenes Schlüsselpaar, das aus einem geheimen Teil (privater Schlüssel) und einem nicht geheimen Teil (öffentlicher Schlüssel) besteht. Der öffentliche Schlüssel ermöglicht es jedem, Daten für den Besitzer des privaten Schlüssels zu verschlüsseln, dessen digitale Signaturen zu prüfen oder ihn zu authentifizieren. Der private Schlüssel ermöglicht es seinem Besitzer, mit dem öffentlichen Schlüssel verschlüsselte Daten zu entschlüsseln, digitale Signaturen zu erzeugen oder sich zu authentisieren

https://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem
Von Bananenfalter – Eigenes Werk, CC0, https://commons.wikimedia.org/w/index.php?curid=14688641

Der entscheidende Vorteil asymmetrischer Verfahren ist, dass sie das Problem der Schlüsselverteilung vermindern. Bei symmetrischen Verfahren muss vor der Verwendung ein Schlüssel über einen sicheren Kanal ausgetauscht werden. Da der öffentliche Schlüssel nicht geheim ist, braucht bei asymmetrischen Verfahren der Kanal nicht abhörsicher zu sein; wichtig ist nur, dass der öffentliche Schlüssel dem Inhaber des dazugehörigen privaten Schlüssels zweifelsfrei zugeordnet werden kann. Ein weiterer Vorteil ist, dass jeder nur den eigenen privaten Schlüssel geheim halten muss.

Ein Nachteil ist, dass asymmetrische Systeme im Vergleich zu symmetrischen Systemen langsamer arbeiten. Ausserdem ist ein Zufallsgenerator im Spiel, der keine für Dritte berechenbaren Werte liefern darf.

Gruppenchats in Messengersystemen

Mit diesem Vorwissen wird klar, dass es geheime und öffentliche Teile in der Kommunikation gibt.
Es stellt sich die Frage inwieweit es überhaupt sinnvoll ist, einen Gruppenchat zu verschlüsseln. Auch wenn es technisch möglich ist, liegen die Grenzen der Verschwiegenheit auch im Verhalten der Gruppenmitglieder. Je größer eine Gruppe, desto öffentlicher wird bzw. ist sie. Eine öffentliche Gruppe mit mehr als 100 Teilnehmern muß nicht wirklich verschlüsselt werden.

Private Schlüssel sollten die private Umgebung nicht verlassen. Das ist richtig, aber natürlich nicht benutzerfreundlich. Wenn der private Schlüssel verloren geht, kann man keine Nachrichten mehr lesen. Das ist auch so gewollt 🙂

Viele Messenger laden aus Bequemlichkeitsgründen die Schlüssel auf zentrale Server. Man hat dann ein Backup der Schlüssel und kann seine Nachrichten von einem zu einem anderen Device transferieren.Wenn private Schlüssel aber auf zentralen Servern gelagert werden, sind sie nicht mehr geheim. Wenn die privaten Schlüssel zusätzlich lokal mit einer Hashfunktion vor dem Upload verschlüsselt werden, so ist das schon besser. Wenn die Hashfunktion allerdings auch die Telefonnummer mit einbezieht ist es mit dem Geheimnis schon wieder so eine Sache.

  • Telegram verschlüsselt Gruppenchats überhaupt nicht. Dadurch ist die Abwicklung für Telegram einfacher und Gruppen mit Hunderttausend Usern stellen kein technisches Problem dar. Ausserdem sind die Chats durchsuchbar, weil die Nachrichten ja im Klartext vorliegen. Alle Nachrichten können auf Telegram Servern gespeichert werden, nehmen also keinen Platz auf dem Telefon ein. Sicher ist das nicht, aber praktisch. Auch Eins-zu-Eins Chats werden in Telegram nur optional verschlüsselt. Wenn sie verschlüsselt sind, sind sie allerdings (im Rahmen der anderen Parameter) „sicher“. Telegram pendelt stark zwischen Benutzerfreundlichkeit und Sicherheit, meistens zugunsten der Bequemlichkeit.
  • In Signal erhalten seit Oktober 2020 Gruppenchats einen sogenannten Gruppenschlüssel. Dieser Gruppenschlüssel ist allen Mitgliedern der Gruppe bekannt (symmetrisches Verfahren) und wird lokal gespeichert. Die Daten der Gruppe liegen auf Signal Servern. Es ist also eine Kombination aus symmetrischer und asymmetrischer Verschlüsselung. Das ist natürlich viel besser als bei Telegram, aber die Nachrichten und die Gruppenschlüssel werden auf zentralen Servern des Anbieters gespeichert – signal.org (WhatsApp und Signal: Forscher beschreiben Schwächen verschlüsselter Gruppenchats). Wenn man selbst einen Signal Server betreibt, ist dieses Detail kein Problem. Man kann in diesem Fall aber leider nicht mit dem zentralen Signal Server föderieren, d.h. keine Nachrichten zwischen den Servern tauschen, lebt also auf einer „Signal Insel“.
  • In iMessage von Apple, Skype/Teams von Microsoft und WhatsApp von Facebook sind die Abläufe nicht überprüfbar, weil die Protokolle und der Quellcode proprietär und damit nicht überprüfbar sind. Bei Threema ist das ähnlich, Threema gibt sich allerdings grösste Mühe bei der Transparenz und hat als „Underdog“ aus der Schweiz einen grossen Vertrauensvorschuss.
  • Conversions (XMPP), Delta Chat (E-Mail) und Element (Matrix) sitzen ein wenig zwischen den Stühlen. Je nach Konfiguration sind sie sicherer als alle Anderen, sie föderieren untereinander und sind komplett Free und Open Source Software

In diesem Zusammenhang ist diese Aufstellung aus dem Kuketz Blog ganz hilfreich.

https://www.kuketz-blog.de/die-verrueckte-welt-der-messenger-messenger-teil1/

Interoperabilität in der Matrix

Wer schon mal im Ausland mit der Bahn gefahren ist, kennt vielleicht das Problem unterschiedlicher Spurweiten. Man muss in einen anderen Zug steigen um weiterfahren zu können. Wer schon mal versucht hat, einen europäischen Stecker in aussereuropäische Steckdosen zu stecken, kennt das Problem ebenfalls.

Wer heute versucht eine Nachricht von Skype zu Signal zu schicken wird scheitern. Eine E-Mail dagegen lässt sich problemlos von einem beliebigen E-Mail Server an einen anderen beliebigen E-Mail Server schicken.

Als Interoperabilität bezeichnet man die Fähigkeit zum Zusammenspiel verschiedener Systeme, Techniken oder Organisationen. Dazu ist in der Regel die Einhaltung gemeinsamer technischer Normen notwendig. Wenn zwei Systeme miteinander vereinbar sind, nennt man sie auch interoperabel.

https://de.wikipedia.org/wiki/Interoperabilität

Warum ist Interoperabilität wichtig?

Interoperabilität kann verhindern, dass durch Patente, Geschäftsgeheimnisse oder Fehler in der Koordination Monopolstellungen erreicht oder ausgebaut werden.
Genau das passiert gerade bei WhatsApp. Facebook hat ein De-Facto Monopol geschaffen.

Das Matrix Protokoll ist dagegen interoperabel angelegt. Es gibt bereits Brücken zu fast allen relevanten Messenger Systemen. Man kann dann von einem Client wie Element eine Nachricht beispielsweise an Slack schicken und von Slack aus eine Nachricht an Element.

Protokoll vs. Implementierung

Während bei den freien Systemen zwischen Protokoll (Matrix, XMPP, Signal) und Implementierung (Element, Conversions, Signal) unterschieden wird, fällt diese Unterscheidung bei proprietären Systemen meist weg. Im günstigsten Fall bieten die proprietären Systeme eine API an, um von aussen in das System Daten/Nachrichten einspeisen zu können. Wie diese Daten verarbeitet werden, bleibt allerdings unklar. Auch bei Implementierungen freier Protokolle muss genau hingeschaut werden ob das Ergebnis immer noch den Vorgaben des Protokolls entspricht. Hinter der Element App steht beispielsweise eine Firma, die natürlich Geld verdienen will (und muss) und deren Finanzierungsquellen in der Vergangenheit teilweise unklar war.
Es gibt bisher leider keine Zulassungsrichtlinien für Messenger und daher sollte man prinzipiell vorsichtig sein.

Überprüfung der TeilnehmerInnen untereinander – Verifikation

Wenn man sich persönlich trifft, weiss man, mit wem man es zu tun hat. Online wird das schwieriger. Wie kann man überprüfen, ob derjenige, mit dem man chattet auch derjenige ist?

Signal löst das Erkennungsproblem über eine Sicherheitsnummer. Die Sicherheitsnummer wird bei beiden Teilnehmern angezeigt und kann verglichen werden. Sie muss übereinstimmen.

In der Benutzeroberfläche des Signal Clients wird allerdings kein sichtbarer Unterschied zwischen verifizierten und nicht verifizierten Benutzern gemacht, so dass die Motivation Nutzer zu verifizieren relativ niedrig ist.

Überprüfung der Sicherheitsnummer in Signal

Die Verifizierung spielt bei Element/Matrix eine erheblich grössere Rolle. Vor dem Benutzernamen wird entweder ein grüner Haken angezeigt oder ein dunkles Feld. Natürlich möchte man den grünen Haken haben 🙂

NICHT verifizierter Kontakt
verifizierter Kontakt

Die Überprüfung in Element erfolgt über eine Anfrage im Eins zu Eins Chat. Der Andere muss die Anfrage annehmen. Dann erscheint ein QR Code oder eine Liste von Icons in einer bestimmten Reihenfolge. Wenn man nebeneinander steht, kann man nun den QR-Code einlesen und der Kontakt gilt als verifiziert oder man vergleicht die Reihenfolge der Icons. Wenn man nicht persönlich beisammen ist, lässt sich das auch über eine Webcam oder das Senden des Screenshots über einen anderen sicheren Kanal (geheimer/verschlüsselter Telegram Chat, WhatsApp, Signal) erledigen.

Entscheidung der Gruppe

Aus all diesen Gründen, und vermutlich noch vielen anderen mehr, die ich gar nicht kenne, hat sich unsere Gruppe letztlich für das Matrix-Protokoll entschieden. Wir benutzen zunächst die Element App und den zentralen matrix.org Server. Das ist vom Sicherheitsaspekt her nicht der Goldstandard, aber es ist benutzerfreundlich und für uns sicher genug. Wir unterstützen damit auch keine Monopolbildung und der Chat ist werbefrei.Wir müssen keine Telefonnummer bei der Registrierung angeben und haben dank der persönlichen Verifizierung nun auch einen Grund für ein persönliches Treffen irgendwo und irgendwann :).

Vielleicht setzen wir in der Zukunft einen eigenen Server auf, der dann mit anderen Systemen Nachrichten austauschen kann.

Fazit

Es klingt natürlich nun sehr lehrbuchhaft aber wir haben in diesem Gruppenprozess tatsächlich erfahren, wie komplex die Kommunikationssituation ist und eine individuelle, benutzerfreundliche Lösung für uns gefunden. Der Verschlüsselung von Gruppenchats sind – derzeit zumindest – technische als auch interessengeleitete Grenzen gesetzt.

Wir haben alle etwas dabei gelernt und wer weiss, wo uns das hinführt 🙂


tl;dr: Eine Gruppe ist viel mehr als ein Chat!

Von hagengraf

Ich erstelle bequeme und benutzerfreundliche Orte in virtuellen und physischen Umgebungen.

Kommentar verfassen