Walkie Desk

Technische Sicherheitsdetails

Dies ist eine Übersetzung. Im Falle von Abweichungen ist die italienische Fassung maßgeblich.

Diese Seite richtet sich an alle, die Walkie Desk aus technischer Sicht bewerten müssen. Einen Überblick finden Sie unter Sicherheit.

Sie beschreibt den Dienst so, wie er heute in der Beta ist: Wenn sich etwas ändert, aktualisieren wir sie.

Überblick

Walkie Desk besteht aus vier Teilen: dem Programm auf dem PC, der erreicht werden soll, dem Browser der Person, die sich verbindet, dem Koordinationsserver auf walkiedesk.app und einem Relay-Server (TURN), der nur verwendet wird, wenn sich die beiden Geräte nicht direkt verbinden können.

Schema von Walkie Desk Der Browser des Technikers und der PC mit Walkie Desk verbinden sich beide über TLS mit dem Koordinationsserver walkiedesk.app (1 und 2). Die Sitzung läuft direkt zwischen Browser und PC, Ende-zu-Ende-verschlüsselt (3); ist keine direkte Verbindung möglich, läuft sie, weiterhin verschlüsselt, über den TURN-Relay-Server (4). walkiedesk.appKoordination Browserdes Technikers PCmit Walkie Desk TURN-Relaynur bei Bedarf 1 2 3 4 4
  1. Browser und walkiedesk.app: HTTPS und sicherer WebSocket (TLS). Darüber melden Sie sich beim Konto an und tauschen die Sitzungsparameter aus, die von den Geräten signiert sind.
  2. PC und walkiedesk.app: sicherer WebSocket (TLS), den der Windows-Dienst öffnet; er prüft immer das Zertifikat und den Namen des Servers, einschließlich der Sperrprüfung.
  3. PC und Browser: die eigentliche Sitzung (Video, Computer-Audio, Tastatur, Maus, Zwischenablage, Dateien und Chat), über WebRTC und Ende-zu-Ende-verschlüsselt. Der Koordinationsserver liegt nicht auf diesem Weg.
  4. Relay: Ist keine direkte Verbindung möglich, laufen dieselben verschlüsselten Pakete über den Relay-Server, der nicht die Schlüssel hat, um sie zu lesen.

Verschlüsselung

Die Sitzung verwendet WebRTC. Video und Computer-Audio laufen über SRTP, mit über DTLS ausgehandelten Schlüsseln (DTLS-SRTP); Tastatur, Maus, Zwischenablage, Dateien, Chatnachrichten und Befehle laufen in Data Channels, also SCTP innerhalb von DTLS. Die Schlüssel werden zwischen PC und Browser ausgehandelt und bleiben dort: Weder der Koordinationsserver noch der Relay-Server kennt sie.

Beim DTLS-Handshake legt jedes Gerät ein Zertifikat vor, dessen Fingerprint in den Sitzungsparametern (SDP) steht. Diese Parameter sind von den Geräten signiert (siehe unten): So weiß der Browser, dass er mit dem richtigen PC spricht, und der PC, dass er mit dem richtigen Browser spricht.

Zwischen den Geräten und walkiedesk.app läuft alles über HTTPS und sicheren WebSocket (TLS), mit HSTS.

Video und Computer-Audio
SRTP mit DTLS-Schlüsseln (DTLS-SRTP); Audio mit Opus codiert
Tastatur, Maus, Zwischenablage, Dateien, Chat
WebRTC-Data-Channels: SCTP über DTLS
Signaturen der Geräte
ECDSA P-256
Hash der signierten Parameter
SHA-256
Kopplung, QuickSupport sowie ID und Passwort
CPace, passwortauthentifizierter Schlüsselaustausch
Anrufe
DTLS-SRTP zwischen den beiden Browsern; Parameter authentifiziert mit HMAC-SHA-256 und einem mit HKDF aus einem Einmalgeheimnis abgeleiteten Schlüssel
Kontopasswörter
Argon2id
Zweiter Faktor
TOTP oder WebAuthn (Sicherheitsschlüssel oder Passkey)
Komponenten auf dem PC
libdatachannel, OpenSSL, libsrtp, libsodium, Opus
Komponenten im Browser
die WebRTC-Implementierung von Chrome, Edge oder Firefox

Wir verwenden verbreitete Open-Source-Komponenten, die wir aktuell halten; die vollständige Liste jeder Version (SBOM) mit Versionen, Lizenzen und Herkunft ist öffentlich: Softwarekomponenten.

Identität der Geräte und Signatur der Sitzungen

Jeder PC mit Walkie Desk und jeder vertrauenswürdige Browser hat ein eigenes ECDSA-P-256-Schlüsselpaar:

Die vertrauenswürdigen Browser einer Person bilden eine signierte Kette: Der erste legt sie an, jeder weitere Browser kommt nur mit einem Eintrag hinzu, den ein bereits in der Kette enthaltenes Gerät signiert hat. Dafür gibt es drei Wege:

Jeder PC prüft alle Signaturen der Kette, bevor er einen Browser akzeptiert, und zählt die 10 Minuten selbst. Der Server speichert die Kette, kann aber keinen Browser hinzufügen, weil er nicht die Schlüssel hat, um sie zu signieren. Ein PC mit einer älteren Version von Walkie Desk wendet die bisherigen Regeln an (zum Beispiel verlangt er auch den Passkey, um einen Browser zu bestätigen): Solange er nicht aktualisiert ist, weist der Benutzerbereich darauf hin und bietet nur die Vorgänge an, die dieser PC akzeptiert.

Vor jeder Sitzung signiert der PC seinen Verbindungsvorschlag und der Browser seine Antwort, einschließlich der DTLS-Fingerprints. Jede Seite prüft die Signatur der anderen mit einem Schlüssel, den sie bereits kennt, bevor sie die Parameter verwendet.

Was das schützt: Würde jemand auf dem Koordinationsweg, der Server eingeschlossen, einen DTLS-Fingerprint austauschen, um sich zwischen PC und Browser zu schalten, wäre die Signatur nicht mehr gültig und die Sitzung würde abgelehnt. Der Server bringt die Geräte zusammen, kann sich aber nicht als sie ausgeben. Was das nicht abdeckt, steht unter Bekannte Grenzen.

Was der Server sieht und was nicht

Er sieht

  • die PCs (Kennung, öffentlicher Schlüssel, Computername, Version von Windows und des Programms), die Konten und die öffentlichen Schlüssel der vertrauenswürdigen Browser;
  • die Daten jeder Sitzung: wer sich mit welchem PC verbindet, wann und wie lange, ob sie über das Relay läuft, ob sie aufgezeichnet wurde (ja oder nein), technische Qualitätsstatistiken;
  • die technischen Logs der Server, etwa IP-Adressen und aufgerufene Seiten;
  • beim Zugriff mit ID und Passwort die fehlgeschlagenen Versuche (Konto, IP-Adresse, PC, Uhrzeit) und für jeden Benutzer die Liste «Zuletzt verwendet» mit den PCs anderer, mit denen er sich verbunden hat;
  • bei Anrufen, wer welchen PC wann angerufen hat, und die Verbindungsparameter (Netzwerkadressen und DTLS-Fingerprints).

Er sieht nicht

  • den Inhalt der Sitzungen: Bildschirm, Computer-Audio, Tastenanschläge, Maus, Zwischenablage, übertragene Dateien und Chatnachrichten;
  • Ton und Bild der Anrufe und ob Mikrofon und Webcam eingeschaltet sind;
  • die Sitzungsaufzeichnungen, die auf dem Gerät der aufzeichnenden Person bleiben;
  • das Passwort von QuickSupport, das Passwort für den Zugriff mit ID und Passwort und den geheimen Teil des Kopplungscodes;
  • die privaten Schlüssel der PCs und der Browser.

Läuft die Sitzung über den Relay-Server, transportiert er nur verschlüsselte Pakete: Er hat nicht die Schlüssel, um sie zu lesen, und speichert weder Sitzungsinhalte noch Dateien oder Nachrichten.

Die Server stehen in Italien; Daten und Backups bleiben in der Europäischen Union. Was wir speichern, wie lange und mit welchen Anbietern: Datenschutzerklärung.

Konto

Unbeaufsichtigter Zugriff

QuickSupport

Gegen Betrug durch falschen technischen Support: Schutz vor Betrug.

ID und Passwort

Computer-Audio und Anrufe

Signierte Programme und der Codec OpenH264

Das Setup von Walkie Desk für Windows, seine Programme und QuickSupport sind vom Herausgeber iDev srl mit Authenticode signiert, mit Zeitstempel: Die Signatur bleibt auch nach Ablauf des Zertifikats überprüfbar. Die enthaltenen Bibliotheken von Drittanbietern sind nicht von uns signiert.

Der Codec OpenH264 ist nicht enthalten: Das Programm lädt ihn von der Website von Cisco herunter und verwendet ihn nur, wenn sein SHA-256-Hash dem erwarteten entspricht.

So prüfen Sie den Herausgeber und den Hash einer heruntergeladenen Datei: Sicherheit.

Updates und Supportzeitraum

Automatische Updates, Signatur der Releases mit dem Release-Schlüssel, Einstellungen zum Abschalten, öffentliche Prüfung eines Releases und frühere Versionen: Updates.

Bekannte Grenzen

Der Code der Web-App, also des Benutzerbereichs und des Viewers, aus dem sich der Techniker verbindet, wird bei jedem Besuch vom Server walkiedesk.app ausgeliefert. Die Signatur der Parameter schützt die Sitzungen vor jedem, der die Koordinationsnachrichten verändert, nicht aber vor einem kompromittierten Server, der dem Browser veränderten Code ausliefert.

Aktuelle Gegenmaßnahme: eine strenge Content Security Policy, die nur Skripte derselben Domain und keine Ressourcen von Drittanbietern zulässt, mit Ausnahme der Zahlungskomponente von Stripe, nur auf der Seite «Abonnement». Ein signierter Viewer, der sich ohne Vertrauen in den Server prüfen lässt, ist als Verbesserung geplant.

Dasselbe gilt für die Anrufseite, die sich im Browser des PCs öffnet und ebenfalls von walkiedesk.app ausgeliefert wird. Ein Techniker, der den PC bereits steuert, könnte selbst eine Anrufseite ohne das Annahmefenster öffnen: Diese Möglichkeit hat er ohnehin, denn mit der Steuerung kann er jedes Programm und jede Website starten; der Browser-Tab und die Systemanzeige für das aktive Mikrofon bleiben sichtbar.

Ein Problem melden