Zoom startet Ende-zu-Ende-Verschlüsselung
Zoom, der wohl mittlerweile jedem bekannte Anbieter der Videokonferenzlösung, ist zweifelsohne einer der Gewinner der Corona-Pandemie. Das Unternehmen wurde quasi von heute auf morgen mit Nutzern überflutet, obwohl man eigentlich auf den Business-Bereich abzielt. Bleibt zu hoffen, dass Zoom zeitnah nicht wieder so einen großen Schwung Nutzer bekommt.
Falls doch, dann bekommen die aber nun Ende-zu-Ende-Verschlüsselung zur Verfügung gestellt – erst einmal allerdings als technische Vorschau, was bedeutet, dass man in den ersten 30 Tagen proaktiv Feedback von den Nutzern einholen werde. Zoom-Benutzer – kostenlos und kostenpflichtig – auf der ganzen Welt können bis zu 200 Teilnehmer in einem Ende-zu-Ende-verschlüsselten Meeting über Zoom empfangen, was den Datenschutz und die Sicherheit für die Zoom-Sitzungen erhöhen soll. Weitere Informationen hat Zoom hier hinterlegt.
Transparenz: In diesem Artikel sind Partnerlinks enthalten. Durch einen Klick darauf gelangt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhalten wir eine kleine Provision. Für euch ändert sich am Preis nichts. Partnerlinks haben keinerlei Einfluss auf unsere Berichterstattung.
So ganz ist mir nicht klar, wie das funktioniert. Schickt Zoom dann statt einem Stream mit vielen Teilnehmern jeden einzelnen verschlüsselten Stream weiter? Wie funktioniert das mit unterschiedlichen Qualitäten?
Was genau Zoom macht werden die uns leider nicht verraten, das gehört ein Stück weit zum Geschäftsgeheimnis.
Wenn aber sowohl die Ende-zu-Ende-Verschlüsselung stimmt als auch die 200-Personen-Konferenz, dann gibt es da eigentlich nicht so arg viele Möglichkeiten.
Jeder Teilnehmer muss seinen Stream selbst verschlüsseln. Der verschlüsselte Stream geht an den Server, der Server kann ihn aber nicht entschlüsseln sondern nur an alle Clients weiterleiten.
Der Key der hierfür verwendet wird kann und sollte für die Session individuell erzeugt werden, Algorithmus und Erneuerung sind Implementierungsdetail. Nennen wir ihn „Video-Key“. Das darf jeder Client selber machen, sagen wir „Video-Key Client 1“ bis „Video-Key Client 2“.
Jetzt brauchen wir einen sicheren Kommunikationskanal von jedem Client zu jedem anderen. Das geht u.a. über Public-Key, jeder Client announced seinen Public Key und hält seinen Private Key geheim. Nennen wir sie „Client-Key 1“ bis „Client-Key 2“.
Aber: Die Public Keys der Clients werden *nicht* dazu verwendet die einzelnen Videostreams zu verschlüsseln.
Stattdessen nimmt Client 1 nur seinen „Video-Key Client 1“ und verschlüsselt den 200 mal, mit jedem „Client Key 1“ bis „Client Key 200“.
Die mehrere GB Videodaten werden so pro Session genau einmal verschlüsselt und zum Server übertragen. Was mehrfach verschlüsselt und mehrfach zum Server übertragen wird ist der wenige Bytes große Video-Key.
Davon gibt es jetzt natürlich ein paar Spielarten. Aber grundsätzlich ist das Problem der Verschlüsselung mit mehreren Empfängern gelöst.
… und der Teil mit mehreren Qualitätsstufen geht dann natürlich auch nur indem sie der Client erzeugt und zum Server schickt.
Sagen wir einen in 480×270 und einen in 1280x720px.
Die anderen Clients dürfen dabei aber schon trotzdem wählen, von welchem anderen Client sie welche Auflösung haben wollen.
In einer weitere Optimierung kann der Server dem sendenden Client mitteilen, ob der nur die kleine Auflösung schicken muss (weil alle registrierten Konsumenten eh nur die Briefmarke sehen), nur die große Auflösung schicken muss (weil alle registrierten Konsumenten gerade Vollbild sehen) oder beide (weil mindestens ein Konsument die Briefmarke und mindestens ein anderer das Vollbild sehen will).
Was die Datenübertragung vom Server an die einzelnen Clients betrifft ändert sich also „nicht viel“.
Ich bin übrigens absolut davon überzeugt dass es in Bezug auf Datenmenge und Komprimierbarkeit von Video praktisch keinen Unterschied macht, ob der Server einen einzelnen Videostream mit 3840x2160px überträgt in dem 64 Kacheln á 480x270px im Mosaik angeordnet sind oder 64 Einzelstreams zu je 480x270px.
Kompressionsvorteile benachbarter Pixel gibts ohnehin nicht von einer Kachel zur benachbarten sondern nur innerhalb einer Kachel, Vorteile von auf einander folgenden Frames gibts ebenfalls nur innerhalb der Kachel.
Zoom hat bereits zuvor die Streams nicht auf dem Server zusammengemischt, sondern nur weitergeleitet – E2E hat hier am Handling der Video-Streams nichts verändert.
Zoom hat das hier dokumentiert: https://github.com/zoom/zoom-e2e-whitepaper
Ah, interessant, hätte ich nicht gedacht.
Monate, nachdem Zoom bewusst Nutzer angelogen hat und gesagt hat, sie würden bereits verschlüsseln.
Es war Transportverschlüsselt. Was anderes haben sie doch auch nie behauptet.
Dochdoch, die haben behauptet es sei Ende zu Ende Verschlüsselt, obwohl es das nicht war.
„Transportverschlüsselt“ bedeutet gar nichts. Dieser Blog hier ist „transportverschlüsselt“.
Wenn Menschen bei Kommunikation heute von Verschlüsselung sprechen geht es ihnen darum zu wissen ob dritte Mithören können. Etwas als verschlüsselt zu bewerben, nur eben so, dass Dritte mithören können ist eine Nebelkerze.
Natürlich hilft die Transportverschlüsselung, und ist auch sinnvoll. Es geht darum, dass nicht jeder, der Zugriff auf den Datenstrom hat, diesen auch lesen kann, sondern nur Zoom und die Nutzer. Es gibt sehr viele Services, die nicht Ende-zu-Ende verschlüsselt sind, daher ist dies auch nicht die Norm. Man sollte nie von Ende-zu-Ende-Verschlüsselung ausgehen, wenn dies nicht explizit so angegeben ist.
Das stimmt und ist wohl auch der Grund warum es so ein Skandal war, dass sie von Ende zu Ende Verschlüsselung gesprochen haben obwohl es das nicht war.
> Es geht darum, dass nicht jeder, der Zugriff auf den Datenstrom hat, diesen auch lesen kann, sondern nur Zoom und die Nutzer.
Das liest sich zwar schön, hat aber einen entscheidenden Haken: Zoom kann diesen Datenstrom, sofern er ihnen denn unverschlüsselt vorliegt, im Zweifel nicht geheim halten. ..da muss nur ein Geheimdienst anklopfen und dann ist der Drops gelutscht. Das einzig verantwortungsbewusste Verständnis von nicht Ende zu Ende verschlüsselter Kommunikation ist, es als potentiell öffentlich zu begreifen.
Dazu kommt, dass natürlich ausgerechnet Zoom ein Unternehmen mit dbzgl. besonders schlechter Vergangenheit ist. Wer zu Sicherheitsfragen lügt und für die ccp zensiert ist vermutlich einfach nicht der richtige für vertrauliche Kommunikation. Selbst wenn sie jetzt behaupten, wirklich zu verschlüsseln.
Bleibt für mich immer noch die Frage, ob die Daten auch auf dem von Zoom verwendeten Server verschlüsselt abgelegt/zwischengespeichert werden. Oder ob die weiterhin nur auf dem Weg zum Server und zum gegenüber verschlüsselt sind. Konnte das nicht erkennen und mein Lese english ist nicht fortgeschritten genug, um den Artikel von Zoom zu verstehen.
„Zoom’s servers become oblivious relays and never see the encryption keys required to decrypt the meeting contents.“
„Encrypted data relayed through Zoom’s servers is indecipherable by Zoom, since Zoom’s servers do not have the necessary decryption key.“
Lese ich eindeutig als: Zoom Server haben keine Schlüssel, um die transportierten Inhalte zu entschlüsseln.