Signal (Messenger)

Signal ist eine Instant-Messenger-App, also ein Programm für Smartphones, Tablets und Computer mit dem sich über das Internet Nachrichten zwischen Geräten, die diese Software installiert haben verschicken lassen. Die Identifikation von Teilnehmer_innen erfolgt über Telefonnummern (d.h. man verwendet in der Regel ein Smartphone). Was Signal gegenüber abdereb Instant-Messangern auszeichnet ist sein kompromissloser Zugang zu Sicherheit der Privatsphäre.

Funktion und Merkmale

Die Basisfunktionen sind, was man sich von einer Messenger-App erwartet:

  • Textnachrichten
    auch mit Multimediainhalten:
    • Fotos
    • Videos
    • GIFs
    • Emojis
    • Sprachmemos
    • Links
    • Dateien
  • Audio-Anrufe
  • Video-Anrufe

All diese Daten werden Ende-zu-Ende-Verschlüsselt, d.h. auch der Server der zwischen dir und deinem Kommunikationspartner vermittelt kann die DAten nicht einsehen.

Um diese Kontaktmöglichkeiten zugänglich zu machen gibt es eine Konktaktliste. Diese ist in der initialen Ansicht nach Zeitpunkt des letzten Kontakts (im Sinne von jüngst geschriebene Nachricht bzw. getätigter Anruf) sortiert. Es gibt auch eine Ansicht mit allen Kontakten in alphabetischer reihenfolge. Sobald man einen Kontakt im Telfonbuch des Smartphones gespeichert hat und dese Person ebenfalls Signal verwendet, erscheint der Kontakt automatisch auch in der Kontaktliste von Signal.

Dies ist aber nicht alles:

  • Gruppenchats
  • Reaktionen auf Nachrichten (Likes, etc.)
  • Nachrichtentöne (für jeden Kontakt bzw. Gruppe individuell festlegbar)
  • Stummschaltung von Chats für einen gewissen Zeitraum (bis zu 1 Jahr)
  • Verschwindende Nachrichten (zwischen 5 Sekunden und 1 Woche)
  • Lesebestägitungen (an/aus)
  • Design (hell/dunkel) und Hintergrund auswählbar

Vom Grundkonzept her ist dies WhatsApp, dem derzeit (2019) verbreitetsten Messenger, sehr ähnlich. Der wichtigste Unterschied ist allerdings, dass es sich hierbei um Open Source Software handelt. Das bedeutet (theoretisch) jeder kann den Quellcode des Programms lesen und sich davon überzugen, dass das Programm tut, was es soll. Natürlich kann nicht jede_r Benutzer_in Programm-Codes lesen aber dafür gibt es eine Community: https://community.signalusers.org/

Der Hauptgrund, weshalb man allerdings Signal verwenden möchte, sind die Sicherheitsfeatures:

Sicherheit

Die Privatsphäre der Kommunikationspartner ist die oberste Priorität unter Signal. Das bedeutet einerseits, dass Daten vor den Augen anderer geschützt werden müssen, aber zusätzlich versucht auch der Betreiber selbst möglichst wenig Daten der User aufzubewahren.

  • Ende-zu-Ende-Verschlüsselung
    Deine Nachrichten (und Sprache,Video,… einfach alles) werden bei dir verschlüsselt, über einen Vermittlungsserver weitergeleitet, der keine möglichkeit erhält die Daten zu entschlüsseln und von dem gewünschten Empfänger wieder entschlüsselt. Wenn jemand die Daten dazwischen abfangen sollte sind diese verschlüsselt und daher unbrauchbar.
  • Authentisierung der Gegenstelle
    D.h. ist mein Kommunikationspartner wer er vorgibt zu sein?
  • Absicherung gegen Manipulation von Nachrichten
    Wenn jemand eine Nachricht abfängt und verändert, so gibt es einen Mechanismus, der dafür sorgt, dass die Nachricht unweigerlich als manipuliert erkennbar gemacht wird.
  • Rückwirkende Folgenlosigkeit bei Kompromitierung
    Das bedeutet, wenn jemand unbefugt den Lanzeitschlüssel in Erfahrung bringt, lässt sich damit nicht die vergengene Sitzung (bzw. jedweges vergangenes Gespräch) entschlüsseln.
  • Absicherung der folgenden Nachrichten bei Offenbarung des aktuellen Sitzungsschlüssels
    Wenn eine Sitzung unbemerkt geknackt werden sollte heißt das nicht, dass der Eindringling zukünftige Sitzungen mitlesen wird können.
  • Glaubhafte Abstreitbarkeit der Urheberschaft
    Das bedeutet die technischen Voraussetzungen sind gegeben, dass User sein Wissen um gesendete Nachrichten (z.B. Mitwissen bzw. Mitwirkung an moralisch verwerflichen oder strafbaren Vorgängen) überzeugend dementieren kann und somit z.B. eine Verantwortlichkeit nicht nachgewiesen werden kann, unabhängig vom tatsächlichen Wahrheitsgehalt dieses Dementis.
  • Erneuerung des Sitzungsschlüsselmaterials ohne Anwesenheit der Gegenstelle
    Wenn ein User dem Sitzungsschlüssel nicht mehr vertraut, dann kann er_sie einen neuen erstellen und dafür muss der Kommunikaitonspartner nicht online sein.
  • Folgenlose Vorhaltung von Schlüsseln für außer der Sitzung bzw. Reihe eintreffende Nachrichten
    Bei Instant-Messengern muss es ja möglich sein, dass eine Gesprächs-Session beginnt ohne dass beide Teilnehmer online sind.

Wie wird das erreicht:

  • Signal verschlüsselt die Kommunikation zwischen den Teilnehmern und verwendet dafür ein als sicher eingestuftes Protokoll, Signal-Protokoll.
    • Programm und Protokoll sind Open Source.
    • Der initiale Schlüsselaustausch erfolgt mitels einem asymmetrischen Verfahren: Diffie-Hellmann
    • Die Verwung einer PKI-Infrastruktur und vorbereitete Einamsschlüssel erlauben die Sitzungsschlüsselerstellung auch ihne dass die Gesprächsteilnehmer alle online sein müssen.
    • Schlüssel werden as Schlüsseln abgeleitet, d.h. die aufeinanderfolgenden Schlüssel bilden eine Kette. Es nützt nichts , wenn man nur ein Glied der Kette kennt. (Stichwort Diffie-Hellmann-Rätsche)
  • Der Betreiber arbeitet nur mit verschlüsselten bzw. gehashten Daten
    • Das Telefonbuch der Nutzer wird nicht im Klartext auf die Server der Betreiber geladen. Statt dessen werden nur Hash-Werte der Nummern abgeglichen.
    • Da Signal vor dem Abschicken einer Nachricht die Absenderadresse verschlüsselt, kann selbst beim Abgreifen der ausgetauschten Nachrichten nicht rekonstruiert werden, wer mit wem kommuniziert.
    • Die Nutzerprofile, bestehend aus Name und Foto, sind verschlüsselt, und daher nicht für die Betreiber einsehbar, sondern nur von den Gesprächspartnern selbst.

Ich finde dieses Video gibt einen guten Einblick in den Mechanismus

Bedeutung für die Mauerseglerei

Derzeit wird in der Mauerseglerei hauptsächlich über die Whatsapp Gruppe „Mauerseglerei“ kommuniziert. Am 1.10.2019 hanbe ich mich mit einem Mail “ Vorschlag Kommunikationsmedium: Signal Messenger“ an den AK la Vista gewandt der beschlossen hat, von WhatsApp auf Signal umzusiedeln. Die zentrale begründung ist, dass sich damit mehr Leute in die Haus-Kommunikation einbinden lassen, da es durchaus einige Hausbewohner_innen gibt, die Gründe sehen, dem WatsApp betreibendem Konzern Facebook nicht zu vertrauen. Anfangs (Oktober 2019) fand man 13 Hausbewohner_innen bei Signal, inzwischen (Stand 2020) sind es quasi alle.

Gruppen

Hier ist eine Liste der Gruppen über die ich (Adrian) derzeit (Jän. 2021) bescheid weiß und die auf lange Sicht bestehen:

  • Mauerseglerei
    Hier ist quasi jeder dabei. Der Austausch umfasst allgemeine Themen wie Events, Hilfe, hat wer dies oder das, kann jemand bitte meine Kinder heimschicken,…
  • Mauerseglerei IT Support
    In dieser Gruppe sollte (!) jeder dabei sein. Damit man nicht dauernd durch Nachrichten belästigt wird, empfehlen wir den Kanal stumm zu schalten. Wir empfehlen nicht den Kanal zu verlassen.
    Wir verwenden diesen Kanal um Informationen über Störungen zu sammeln und Hilfe anzubieten. Große Announcements erfolgen auf Kanälen, die mehr Mitglieder erreichen (z.B. Gruppe Mauerseglerei).
  • Mauerseglerei IT
    Dies ist für die Mitglieder des Kreis für IT und alle die im Detail wissen wollen, was in diesem Umfeld passiert.

Installation

auf Smartphones

Primär ist Signal dafür gedacht auf Smartphones installiert zu werden (aber prinzipiell lässt es sich auf allem Installieren, was eine Telefonnummer hat und ein brauchbares Betriebssystem oder sich mit einem Gerät mit Telefonnummer koppeln lässt). Wir beschränken uns hierbei auf die zwei üblichen Anwendungsfälle, nämlich Smartphones mit Android und iOS.

ToDo: Schöne Anleitung mit Bildern verfassen.

Download:

Der Prozess ist eigentlich recht einfach: Man geht zum App-Store, sucht Signal, wählt es aus und tappt auf Installieren. Danach erteilt man dem Programm, alle Berechtigungen die es einfordert (Signal fordert keine unnützen Berechtigungen ein). Das wars.

auf Computern

Es ist sehr praktisch Signal auch auf z.B. dem eigenen Computer nutzen zu können. Geräte, die keine Telefonnummer besitzen lassen sich zwar nicht als primäre Signal-Instanzen verwenden, aber als sekundäre. Das bedeutet man muss zuerst auf einem geeigneten Gerät mit Telefonnummer Signal installieren und kann erst danach auf einem nicht-Telefon, welche man dann an das Telefon „koppelt“ (einen inoffiziellen, sehr unkomfprtablen und für fast alle Anwender_innen unnötigen Weg dies zu umgehen beschreibe ich weiter unten).

ToDo: Schöne Anleitung mit Bildern verfassen.

Download:

Nach dem Herunterladen startet man die App (üblicherweise landet sie in deinem Downloads-Ordner und wird mit einem Doppelklick gestartet), gefolgt von der Frage, ob man dem Programm erlauben will Änderungen am Computer vorzunehmen, was man natürlich bestätigt, da sonst die App nicht instlliert würde. Auch alle weiteren Fragen kann man bestätigen. Nach fertigstellung startet man das Programm um es mit der Installation am Smartphone zu koppeln (siehe nächstes Kapitel).

Kopplung

Eine Installation an einem nicht-Telefon braucht eine andere Instanz an einem Telefon, an die sie gekoppelt wird, damit sie funktioniert. Dies geht wie folgt:

  1. Installiere und öffne Signal Desktop.
  2. Öffne Signal auf deinem Mobiltelefon und gehe zu Signal Einstellungen  > Gekoppelte Geräte.
  3. Verwende dein Telefon zum Einscannen des Signal Desktop QR-Codes.
  4. Gib einen Namen ein für dein Signal Desktop und wähle dann „Abschließen“.
  5. Sende eine Nachricht von Signal Desktop.

Jüngst hinzugefügte Geräte können die Vergangenheit aus Sicherheitsgründen nicht nachladen. Es erscheinen nur Nachrichten die ab dem Kopplungszeitpungt gesendet und empfangen wurden.

Kein Web-Browser-Interface

Oftmals wird bedauert, dass es kein Web-Interface für Signal gibt, wie das beispielsweise bei WhatsApp der Fall ist.

Hier fand ich eine Begründung auf whispersystems:

The fundamental problem with web interfaces is: there’s no way to version, sign and securely distribute a web page. Instead, you’re re-requesting the code you’ll run every single time you visit the site (making audits practically impossible).

This effectively reduces the security of your end-to-end encrypted communication to that of your SSL connection to the server, i.e. you’re only as secure as the CA system. Anyone able to intercept the client-server SSL connection (and the server itself) can silently change the code you receive and execute, with a very low risk of getting caught. This is why products which offer end-to-end encrypted communication through in-browser crypto are often considered snake oil, unless they use some form of a packaged & signed browser extension.

Signal ohne Smartphone

Signal war von Anfang an als Instant Messenger für Smartphones gedacht und daher identifiziert sich ein Signal Accout immer über eine Telefonnummer. Was kann man aber tun, wenn das einzige verfügbare Telefon kein Smartphone ist? Es gibt einen Weg das scheinbar ungeeignete Telefon dennoch als Telefonnummernspender für ein anderes Gerät, wie z.B. einen Computer nutzen zu können. Dies einzurichten ist etwas komplex und unkomfortabel (und ich, Adrian, habe es bis Dato noch nicht probiert).

Hierbei kommt ein Programm zur Anwendung, das Signal-CLI genannt wird. Dieses wird verwendet um einen Signal-Account zu registrieren und die Kopplung mit der Desktop-App vorzunehmen. Das Signal-CLI-Programmm kann man hier herunterladen: https://github.com/AsamK/signal-cli/releases/latest. In Groben zügen funktioniert es so: Das Programm legt einen Account für eine existierende Telefonnummer an und du bekommst die verifikations-SMS an diese Telefonnummer geschickt. Diesen Verfikations-Code gibst du dann im CLI-Programm ein und damit ist der Account erstellt. Anschließend installierst du das Signal-Desktop-Programm. Dort koppelst du wie gewohnt, nur dass du den erscheinenden QR-Code nicht einfach mit deinem Signal am Smartphone scannen kannst wie gewohnt. Stattdessen nutzt du einen Barcode-Scanner um den QR-Code in einen Text umzuwandeln. Diesen Text-Code übergibst du dann dem CLI-Programm und damit ist die Kopplung vollzogen.

Eine Detaillierte Anleitung gibt es hier: https://github.com/AsamK/signal-cli/releases/latest

Das Projekt wird auf GitHub gehostet und beständig weiterentwickelt: https://github.com/AsamK/signal-cli

Der aktuellste Release (Stand 6.3.2021) ist gerade mal 4 Tage alt: https://github.com/AsamK/signal-cli/releases/tag/v0.8.1

Der Nachteil dieses Verfahrens ist, abseits vom anfänglichen Aufwand, dass es ur zach ist Kontakte hinzuzufügen, da man dafür Textfiles mit einem ganz bestimmten Layout anlegen muss und, wenn man die Kopplung verliert, muss dan den Schmarrn mit dem QR Code wiederholen.

Tipps

Kanal stummschalten

Unterthaltungen mit einzelnen Kontakten aber auch mit Gruppen können stummgeschaltet werden. Dies ist sehr nützlich, wenn man eine Gruppe immer wieder braucht, weil dort nützliche Informationen ausgetauscht werden, aber eben nicht dauernd.

Gehe dazu in der Gruppe bzw. Unterhaltung rechts oben auf Punkt-Punkt-Punkg und dort auf Stummschalten. Du kannst eine Auswahl von eine Stunde bis zu ein Jahr treffen.

Tray-Icon unter Windows

Wenn man das Signal Fenster schließt, dann beendet man das ganze Programm. Nutzer_innen diverser anderer Messaging-Apps am Desktop-Computer, wie zum Beispiel Skype, Zoo, MS Teams, sind ein anderes Verhalten gewohnt. Da verschwindet die App rechts unten in die Task-Leiste (aich bekannt als System Tray). Durch einen Klick auf das Icon holt man das Programm wieder in den Vordergrund. Will das Programm komplett beenden macht man einen Rechtsklick auf das Tray-Icon ung geht auf beenden.

Dieses Verhalten wünscht man sich auch bei Signal und es ist möglich.

Gehe dafür zu der Verknüpfung mit der du die Signal-App startest. Die beiden meistvertretenen Varianten sind im Startmenü oder am Desktop. Da es etwas tricky ist an die Verknüpfung im Startmenü zu kommen hierzu gleich ein Screenshot (unten). Rechtsklick auf das Icon im Startmeü, dann zu „mehr“ und dann klicke auf „Dateispeicherort öffnen“. Die Verknüpfung erscheint nun in einem Fenster und wür können genauso fortfahren wie im Falle der Desktopverknüpfung.

Gehe mit einem Rechtsklick auf die Eigenschaften.

In den Eigenschaften in der Registerkarte (aka Tab) gibt es die Zeile „Ziel“. Am Ende dieser Zeile werden wir nun ein optionales Argument ergänzen. Dazu machen wir nach Signal.exe ein Leerzeichen und Ergänzen den Text --use-tray-icon und bestätigen mit dem Button OK.

Nun haben wir beim Starten von Signal ein kleines Tray Icon

Querverweise

Zuletzt bearbeitet am 22. Oktober 2021 von Adrian Kowar

Schreibe einen Kommentar