So funktioniert Cyphr

Unsere Entwurfsziele

Cyphr ist eine sichere Messaging-Anwendung. Zu den wichtigsten Zielen bei der Entwicklung dieser Anwendung gehören:

  • Kommunikation muss so einfach wie möglich sein

    Idealerweise ist die Anwendung so einfach zu verwenden wie jede normale unverschlüsselte Messaging-App. Die Punkte, an denen die Verschlüsselung erforderlich ist, sollten den Anwender nicht mit zusätzlichen Kenntnissen oder Tätigkeiten belasten, außer, wenn dies unbedingt notwendig ist.

  • Der Benutzer kann eine gut informierte Wahl über den gewünschten Datenschutz- und Sicherheitsgrad treffen

    Wenn eine Funktion eingeführt wird, die das Teilen von Informationen erfordert, kann der Benutzer wahlweise diese Funktion deaktivieren. Dies garantiert dem Benutzer, dass er die Kontrolle über seine Erfahrung hat und dass er die Anwendung nach Wunsch zwischen Sicherheit und Funktionalität anpasst.

  • Golden Frog hat keinerlei Kenntnisse bezüglich des Nachrichteninhalts

    Die Nachrichtendaten werden immer dergestalt verschlüsselt, dass nur der Sender und der Empfänger die Daten einsehen können. Dies schließt beliebige Golden Frog-Server oder Netzwerkgeräte, die sich zwischen dem Sender und dem Empfänger befinden, ein.

  • Golden Frog speichert nur die Mindestmenge an Metadaten ab, die für die Übertragung des Nachrichteninhalts erforderlich ist

    Um Nachrichten mittels der Systeme von Golden Frog zu senden und zu erhalten, sind gewisse Metadaten vonnöten. Außerdem sind aufgrund der Funktionsweise des Internets andere Metadaten erforderlich. Golden Frog speichert nur die Metadaten, die nötig sind, um die Nachricht an ihren endgültigen Bestimmungsort zu übermitteln. Das Unternehmen speichert Metadaten nur so lange es nötig ist, um die Übermittlung sicherzustellen.

Verschlüsselungstechnologien erklärt

Symmetrische Verschlüsselung

Ein Schlüssel ist wie ein Passwort, das verwendet werden kann, um einen Safe zu entriegeln. Um eine Nachricht zu verschlüsseln, legt der Absender die Nachricht in den Safe, und dann sperrt er ihn sicher mit dem Schlüssel zu. Sobald er sicher geschlossen ist, kann niemand die Nachricht lesen, wenn er nicht den Schlüssel hat. Der Empfänger verwendet einen Schlüssel, um den Safe zu öffnen, und zieht die Nachricht heraus. Dies ist die Entschlüsselung.

Mit der symmetrischen Code-Verschlüsselung haben der Absender wie auch der Empfänger denselben Code. Sie müssen den Code miteinander teilen, was bedeutet, dass sie sich gegenseitig vertrauen müssen. Die symmetrische Code-Verschlüsselung wird im allgemeinen bevorzugt, da sie schneller ist, aber da zwei Parteien denselben Code haben, kann man nie sicher sein, dass die andere Partei den Code nicht weitergegeben hat.

Public-Key-Verschlüsselung

Bei der Verschlüsselung mit öffentlichem Schlüssel werden zwei Schlüssel verwendet - ein öffentlicher Schlüssel und ein privater Schlüssel. Ein Absender verwendet den öffentlichen Schlüssel des Empfängers, um dessen Safe zu öffnen und Nachrichten dort abzulegen. Der öffentliche Schlüssel kann nur für den Austausch von Nachrichten über den Safe des Empfängers verwendet werden. D.h. obwohl der Safe "offen" ist, kann der Sender nicht wirklich auf etwas zugreifen, das darin liegt. Der Safe hat einen einseitigen Zugang. Der Sender verwendet den öffentlichen Schlüssel des Empfängers, um die Nachricht zu verschlüsseln. Um die Nachricht zu lesen und den Safe zu öffnen, setzt der Empfänger seinen privaten Schlüssel ein. Mit Hilfe des privaten Schlüssels kann er die Nachrichten herunterladen. Wir nennen das den privaten Schlüssel, weil nur der Empfänger Zugriff darauf hat, und weil dieser Schlüssel nur den Safe des Empfänger sicher öffnet. So können wir sicher sein, dass die Nachricht nur vom Empfänger gelesen werden kann. So verwendet der Empfänger den privaten Schlüssel, um die Nachricht zu entschlüsseln.

Der öffentliche und der private Schlüssel werden mit einer sehr komplexen Berechnung miteinander verknüpft, damit sie funktionieren. Wichtig ist, dass mit dieser Methode und solange der Absender den öffentlichen Schlüssel des Empfängers kennt, der Absender Mitteilungen senden und sicher sein kann, dass nur der Empfänger (oder jemand mit dem privaten Schlüssel des Empfängers) sie lesen kann.

Überprüfung des öffentlichen Schlüssels (Signing)

Mit denselben Schlüsseln wie jenen, die für die Verschlüsselung benutzt werden, kann der Absender seine Mitteilungen so abstempeln, dass er den Versand beweisen kann. In diesem Fall stempelt der Absender die Mitteilung mit seinem eigenen privaten Schlüssel ab. Wenn der Empfänger die Mitteilung erhält, sieht er den öffentlichen Schlüssel des Empfängers, und dieser wird dem Stempel des Absenders entsprechen, was beweist, dass der Empfänger – und nur der Empfänger – die Mitteilung geschickt hat. Wir nennen den Stempel Unterschrift und das Verfahren der Stempel-Abstimmung Verifizierung.

Mit dieser Methode kann der Absender überprüfen, ob er die Mitteilung verschickt hat. Dies verhindert, dass irgendwer sich für jemand anderen ausgibt und gefälschte Mitteilungen verschickt.

Nachrichtenübertragungsvorgang

Cyphr verbindet die oben genannten Verschlüsselungskonzepte miteinander, um eine verschlüsselte Lösung herzustellen von einem Ende zum anderen zu erzeugen. Wenn jemand eine Nachricht an jemand anderen sendet, wird die Nachricht auf dem Gerät des Absenders (Telefon, Web-Browser, Computer, etc.) verschlüsselt und erst wieder entschlüsselt, wenn sie das Gerät des Empfängers erreicht hat. Der Prozess des Sendens einer Nachricht auf einem hohen Niveau ist:

  1. Der Absender unterschreibt seine Mitteilung mit seinem privaten Schlüssel, damit der Empfänger weiß, dass er ihn geschickt hat
  2. Der Sender erstellt einen einmal benutzbaren Schlüssel
  3. Der Absender chiffriert die Mitteilung und die Unterschrift mit dem Einweg-Schlüssel
  4. Der Sender sieht alle öffentlichen Schlüssel des Empfängers ein
  5. Der Absender verschlüsselt den Einweg-Schlüssel mit jedem öffentlichen Schlüssel der Empfänger
  6. Der Sender signiert den Einwegschlüssel mit dem privaten Schlüssel des Senders, so dass der Empfänger weiß, dass er ihn erstellt hat
  7. Der Sender sendet über Golden Frogs Cyphr Server sowohl den verschlüsselten Schlüssel als auch die verschlüsselte Nachricht an den Empfänger

All diese Vorgänge werden auf dem Gerät des Senders durchgeführt, daher hat Golden Frog keinen Zugang zur ursprünglichen Nachricht. Da die Nachricht mithilfe eines symmetrischen Schlüssels verschlüsselt ist, den Golden Frog nicht kennt, kann Golden Frog die Nachricht nicht entschlüsseln. Da der symmetrische Schlüssel mithilfe des öffentlichen Schlüssels jedes Empfängers verschlüsselt ist, haben nur die Empfänger Zugang zum Schlüssel, mit dessen Hilfe die Nachricht entschlüsselt werden kann. Zu diesem Zeitpunkt speichert Golden Frog verschlüsselte Daten, die nicht entschlüsselt werden können, bis der Empfänger sie liest.

Der Prozess des Empfangs einer Nachricht ist:

  1. Der Empfänger lädt den chiffrierten Schlüssel und die chiffrierte Mitteilung von den Cyphr-Servern von Golden Frog herunter
  2. Der Empfänger verwendet seinen privaten Schlüssel, um den symmetrischen, chiffrierten Schlüssel zu entschlüsseln
  3. Der Empfänger verwendet den symmetrischen Schlüssel, um die chiffrierte Mitteilung zu entschlüsseln
  4. Der Empfänger sucht den öffentlichen Schlüssel des Senders heraus
  5. Der Empfänger benutzt den öffentlichen Schlüssel, um die Mitteilung und den chiffrierten, symmetrischen Schlüssel, der vom Absender geschickt wurde, zu überprüfen

All diese Arbeit wird auf dem Empfängergerät durchgeführt, das der einzige Ort ist, an dem der private Schlüssel zu Leben erwacht. Solange das Gerät ordnungsgemäß gesichert wird, kann nur der Empfänger die Nachrichten lesen. Auch wenn jemand anderes die Nachricht herunterlädt, verfügt er nicht über den privaten Schlüssel des Empfängers und so kann er den symmetrischen Schlüssel nicht lesen. Ohne den symmetrischen Schlüssel kann jemand anderes die verschlüsselte Nachricht nicht lesen.

Andere Gesichtspunkte

Zusätzlich zu der Verwendung des obigen Nachrichtenübertragungsprozesses implementiert Cyphr auch Folgendes:

  1. Wenn ein Empfänger die Mitteilung vom Server liest, wird deren Kopie der Mitteilung auf dem Server gelöscht
  2. Wo dies möglich ist, wird der Verlauf der Mitteilungen auf dem Gerät mit den lokal verfügbaren Verschlüsselungsoptionen chiffriert
  3. Wenn die Cyphr-Server Nachrichten für die Übertragung speichern, speichern sie nur die Empfangszeit und die Metadaten des Empfängers (Daten bezüglich des Senders werden nicht gespeichert, da sie nicht erforderlich sind)

Weitere Einzelheiten

  1. Der 30 Jahre alte, praxiserprobte RSA-Algorithmus wird sowohl für die Verschlüsselung als auch für die Prüfung des öffentlichen Schlüssels benutzt
  2. Für die symmetrische Verschlüsselung von Nachrichten wird 256-bit-Verschlüsselung verwendet
  3. TLS wird für die sichere Übertragung der chiffrierten Mitteilungsdaten von und zu den Cyphr-Server verwendet
  4. Die Cyphr-Server stehen in Zürich in der Schweiz und entsprechen den Schweizer Datenschutzbestimmungen